// $ANTLR 3.3 Nov 30, 2010 12:50:56 C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g 2011-09-14 20:37:13

    package agh.tk.markuptranslation;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;


import org.antlr.runtime.tree.*;

public class DokuWikiParser extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "NEWLINE", "BOLDSYMBOL", "ITALICSYMBOL", "DELETED", "DELETEDC", "UNDERLINESYMBOL", "FOOTNOTESYMBOL", "FOOTNOTESYMBOLC", "NEWLINESYMBOL", "LINKSYMBOL", "ADDRESS", "LINKTEXTSYMBOL", "LINKSYMBOLC", "MAIL", "HEADLINESYMBOL", "WHITESPACE", "WORD", "PUNCTUATIONMARK", "NUMBER", "SPECIALPUNCTUATIONMARK", "IMAGESYMBOL", "SIZE", "IMAGESYMBOLC", "LISTSYMBOL", "QUOTINGSYMBOL", "HEADERTABLESYMBOL", "NOWIKI", "NOWIKIC", "NOWIKI2", "CODE", "CODEC", "FILE", "FILEC", "CODESECTION", "HTML", "HTMLC", "HTML2", "HTML2C", "PHP", "PHPC", "PHP2", "PHP2C", "MARKUP", "NOCACHE", "NOTOC", "SUBSCRIPT", "SUBSCRIPTC", "SUPERSCRIPT", "SUPERSCRIPTC", "LETTER", "DIGIT", "NEWLINE_OR_CODESECTION", "REVERSE", "AUTHOR", "DATE", "DESCRIPTION"
    };
    public static final int EOF=-1;
    public static final int NEWLINE=4;
    public static final int BOLDSYMBOL=5;
    public static final int ITALICSYMBOL=6;
    public static final int DELETED=7;
    public static final int DELETEDC=8;
    public static final int UNDERLINESYMBOL=9;
    public static final int FOOTNOTESYMBOL=10;
    public static final int FOOTNOTESYMBOLC=11;
    public static final int NEWLINESYMBOL=12;
    public static final int LINKSYMBOL=13;
    public static final int ADDRESS=14;
    public static final int LINKTEXTSYMBOL=15;
    public static final int LINKSYMBOLC=16;
    public static final int MAIL=17;
    public static final int HEADLINESYMBOL=18;
    public static final int WHITESPACE=19;
    public static final int WORD=20;
    public static final int PUNCTUATIONMARK=21;
    public static final int NUMBER=22;
    public static final int SPECIALPUNCTUATIONMARK=23;
    public static final int IMAGESYMBOL=24;
    public static final int SIZE=25;
    public static final int IMAGESYMBOLC=26;
    public static final int LISTSYMBOL=27;
    public static final int QUOTINGSYMBOL=28;
    public static final int HEADERTABLESYMBOL=29;
    public static final int NOWIKI=30;
    public static final int NOWIKIC=31;
    public static final int NOWIKI2=32;
    public static final int CODE=33;
    public static final int CODEC=34;
    public static final int FILE=35;
    public static final int FILEC=36;
    public static final int CODESECTION=37;
    public static final int HTML=38;
    public static final int HTMLC=39;
    public static final int HTML2=40;
    public static final int HTML2C=41;
    public static final int PHP=42;
    public static final int PHPC=43;
    public static final int PHP2=44;
    public static final int PHP2C=45;
    public static final int MARKUP=46;
    public static final int NOCACHE=47;
    public static final int NOTOC=48;
    public static final int SUBSCRIPT=49;
    public static final int SUBSCRIPTC=50;
    public static final int SUPERSCRIPT=51;
    public static final int SUPERSCRIPTC=52;
    public static final int LETTER=53;
    public static final int DIGIT=54;
    public static final int NEWLINE_OR_CODESECTION=55;
    public static final int REVERSE=56;
    public static final int AUTHOR=57;
    public static final int DATE=58;
    public static final int DESCRIPTION=59;

    // delegates
    // delegators


        public DokuWikiParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public DokuWikiParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        
    protected TreeAdaptor adaptor = new CommonTreeAdaptor();

    public void setTreeAdaptor(TreeAdaptor adaptor) {
        this.adaptor = adaptor;
    }
    public TreeAdaptor getTreeAdaptor() {
        return adaptor;
    }

    public String[] getTokenNames() { return DokuWikiParser.tokenNames; }
    public String getGrammarFileName() { return "C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g"; }


    public static class start_return extends ParserRuleReturnScope {
        public DataModel value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "start"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:14:1: start returns [DataModel value] : node= dokuWikiFile ;
    public final DokuWikiParser.start_return start() throws RecognitionException {
        DokuWikiParser.start_return retval = new DokuWikiParser.start_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        DokuWikiParser.dokuWikiFile_return node = null;



        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:14:33: (node= dokuWikiFile )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:15:3: node= dokuWikiFile
            {
            root_0 = (Object)adaptor.nil();

            pushFollow(FOLLOW_dokuWikiFile_in_start50);
            node=dokuWikiFile();

            state._fsp--;

            adaptor.addChild(root_0, node.getTree());
             retval.value = (node!=null?node.value:null); 

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "start"

    public static class dokuWikiFile_return extends ParserRuleReturnScope {
        public DataModel value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "dokuWikiFile"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:19:1: dokuWikiFile returns [DataModel value] : (node1= dokuWikiMarkupSection node2= dokuWikiFile | node3= textBlock node4= dokuWikiFile | NEWLINE node5= dokuWikiFile | () );
    public final DokuWikiParser.dokuWikiFile_return dokuWikiFile() throws RecognitionException {
        DokuWikiParser.dokuWikiFile_return retval = new DokuWikiParser.dokuWikiFile_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINE1=null;
        DokuWikiParser.dokuWikiMarkupSection_return node1 = null;

        DokuWikiParser.dokuWikiFile_return node2 = null;

        DokuWikiParser.textBlock_return node3 = null;

        DokuWikiParser.dokuWikiFile_return node4 = null;

        DokuWikiParser.dokuWikiFile_return node5 = null;


        Object NEWLINE1_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:19:40: (node1= dokuWikiMarkupSection node2= dokuWikiFile | node3= textBlock node4= dokuWikiFile | NEWLINE node5= dokuWikiFile | () )
            int alt1=4;
            switch ( input.LA(1) ) {
            case BOLDSYMBOL:
            case ITALICSYMBOL:
            case UNDERLINESYMBOL:
            case FOOTNOTESYMBOL:
            case NEWLINESYMBOL:
            case LINKSYMBOL:
            case ADDRESS:
            case MAIL:
            case HEADLINESYMBOL:
            case IMAGESYMBOL:
            case LISTSYMBOL:
            case QUOTINGSYMBOL:
            case HEADERTABLESYMBOL:
            case NOWIKI:
            case NOWIKI2:
            case CODE:
            case FILE:
            case CODESECTION:
            case HTML:
            case HTML2:
            case PHP:
            case PHP2:
            case MARKUP:
            case NOCACHE:
            case NOTOC:
                {
                alt1=1;
                }
                break;
            case WHITESPACE:
            case WORD:
            case PUNCTUATIONMARK:
            case NUMBER:
            case SPECIALPUNCTUATIONMARK:
                {
                alt1=2;
                }
                break;
            case NEWLINE:
                {
                alt1=3;
                }
                break;
            case EOF:
            case NOWIKIC:
            case CODEC:
            case FILEC:
                {
                alt1=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:20:2: node1= dokuWikiMarkupSection node2= dokuWikiFile
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_dokuWikiMarkupSection_in_dokuWikiFile74);
                    node1=dokuWikiMarkupSection();

                    state._fsp--;

                    adaptor.addChild(root_0, node1.getTree());
                    pushFollow(FOLLOW_dokuWikiFile_in_dokuWikiFile78);
                    node2=dokuWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, node2.getTree());
                     retval.value = new DataModel((node1!=null?node1.value:null), (IComponent)(node2!=null?node2.value:null)) ; 

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:22:4: node3= textBlock node4= dokuWikiFile
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_textBlock_in_dokuWikiFile90);
                    node3=textBlock();

                    state._fsp--;

                    adaptor.addChild(root_0, node3.getTree());
                    pushFollow(FOLLOW_dokuWikiFile_in_dokuWikiFile94);
                    node4=dokuWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, node4.getTree());
                     retval.value = new DataModel(new Text((node3!=null?input.toString(node3.start,node3.stop):null), null), (IComponent)(node4!=null?node4.value:null)) ; 

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:24:4: NEWLINE node5= dokuWikiFile
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE1=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_dokuWikiFile104); 
                    NEWLINE1_tree = (Object)adaptor.create(NEWLINE1);
                    adaptor.addChild(root_0, NEWLINE1_tree);

                    pushFollow(FOLLOW_dokuWikiFile_in_dokuWikiFile108);
                    node5=dokuWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, node5.getTree());
                     retval.value = new DataModel(new Text("\n", null), (IComponent)(node5!=null?node5.value:null)) ; 

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:26:4: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:26:4: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:26:5: 
                    {
                    }

                     retval.value = null ; 

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "dokuWikiFile"

    public static class dokuWikiMarkupSection_return extends ParserRuleReturnScope {
        public IComponent value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "dokuWikiMarkupSection"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:29:1: dokuWikiMarkupSection returns [IComponent value] : (node1= php | node2= markupSection | node3= list | node4= footnoteText | node5= noCache | node6= noToc | node7= html | node8= codeBlock | node9= table | node10= qouting | node11= boldText | node12= italicText | node13= underlineText | newLine | node15= link | node16= mail | node17= headline | node18= image | node19= noWiki ) ;
    public final DokuWikiParser.dokuWikiMarkupSection_return dokuWikiMarkupSection() throws RecognitionException {
        DokuWikiParser.dokuWikiMarkupSection_return retval = new DokuWikiParser.dokuWikiMarkupSection_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        DokuWikiParser.php_return node1 = null;

        DokuWikiParser.markupSection_return node2 = null;

        DokuWikiParser.list_return node3 = null;

        DokuWikiParser.footnoteText_return node4 = null;

        DokuWikiParser.noCache_return node5 = null;

        DokuWikiParser.noToc_return node6 = null;

        DokuWikiParser.html_return node7 = null;

        DokuWikiParser.codeBlock_return node8 = null;

        DokuWikiParser.table_return node9 = null;

        DokuWikiParser.qouting_return node10 = null;

        DokuWikiParser.boldText_return node11 = null;

        DokuWikiParser.italicText_return node12 = null;

        DokuWikiParser.underlineText_return node13 = null;

        DokuWikiParser.link_return node15 = null;

        DokuWikiParser.mail_return node16 = null;

        DokuWikiParser.headline_return node17 = null;

        DokuWikiParser.image_return node18 = null;

        DokuWikiParser.noWiki_return node19 = null;

        DokuWikiParser.newLine_return newLine2 = null;



        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:29:49: ( (node1= php | node2= markupSection | node3= list | node4= footnoteText | node5= noCache | node6= noToc | node7= html | node8= codeBlock | node9= table | node10= qouting | node11= boldText | node12= italicText | node13= underlineText | newLine | node15= link | node16= mail | node17= headline | node18= image | node19= noWiki ) )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:30:2: (node1= php | node2= markupSection | node3= list | node4= footnoteText | node5= noCache | node6= noToc | node7= html | node8= codeBlock | node9= table | node10= qouting | node11= boldText | node12= italicText | node13= underlineText | newLine | node15= link | node16= mail | node17= headline | node18= image | node19= noWiki )
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:30:2: (node1= php | node2= markupSection | node3= list | node4= footnoteText | node5= noCache | node6= noToc | node7= html | node8= codeBlock | node9= table | node10= qouting | node11= boldText | node12= italicText | node13= underlineText | newLine | node15= link | node16= mail | node17= headline | node18= image | node19= noWiki )
            int alt2=19;
            switch ( input.LA(1) ) {
            case PHP:
            case PHP2:
                {
                alt2=1;
                }
                break;
            case MARKUP:
                {
                alt2=2;
                }
                break;
            case LISTSYMBOL:
                {
                alt2=3;
                }
                break;
            case FOOTNOTESYMBOL:
                {
                alt2=4;
                }
                break;
            case NOCACHE:
                {
                alt2=5;
                }
                break;
            case NOTOC:
                {
                alt2=6;
                }
                break;
            case HTML:
            case HTML2:
                {
                alt2=7;
                }
                break;
            case CODE:
            case FILE:
            case CODESECTION:
                {
                alt2=8;
                }
                break;
            case HEADERTABLESYMBOL:
                {
                alt2=9;
                }
                break;
            case QUOTINGSYMBOL:
                {
                alt2=10;
                }
                break;
            case BOLDSYMBOL:
                {
                alt2=11;
                }
                break;
            case ITALICSYMBOL:
                {
                alt2=12;
                }
                break;
            case UNDERLINESYMBOL:
                {
                alt2=13;
                }
                break;
            case NEWLINESYMBOL:
                {
                alt2=14;
                }
                break;
            case LINKSYMBOL:
            case ADDRESS:
                {
                alt2=15;
                }
                break;
            case MAIL:
                {
                alt2=16;
                }
                break;
            case HEADLINESYMBOL:
                {
                alt2=17;
                }
                break;
            case IMAGESYMBOL:
                {
                alt2=18;
                }
                break;
            case NOWIKI:
            case NOWIKI2:
                {
                alt2=19;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:31:2: node1= php
                    {
                    pushFollow(FOLLOW_php_in_dokuWikiMarkupSection142);
                    node1=php();

                    state._fsp--;

                    adaptor.addChild(root_0, node1.getTree());

                    	 retval.value =(node1!=null?node1.value:null) ;
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:35:4: node2= markupSection
                    {
                    pushFollow(FOLLOW_markupSection_in_dokuWikiMarkupSection153);
                    node2=markupSection();

                    state._fsp--;

                    adaptor.addChild(root_0, node2.getTree());

                    	 retval.value =(node2!=null?node2.value:null) ;
                    	

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:39:4: node3= list
                    {
                    pushFollow(FOLLOW_list_in_dokuWikiMarkupSection164);
                    node3=list();

                    state._fsp--;

                    adaptor.addChild(root_0, node3.getTree());

                       retval.value =(node3!=null?node3.value:null) ;
                      

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:43:4: node4= footnoteText
                    {
                    pushFollow(FOLLOW_footnoteText_in_dokuWikiMarkupSection177);
                    node4=footnoteText();

                    state._fsp--;

                    adaptor.addChild(root_0, node4.getTree());

                       retval.value =(node4!=null?node4.value:null) ;
                      

                    }
                    break;
                case 5 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:47:4: node5= noCache
                    {
                    pushFollow(FOLLOW_noCache_in_dokuWikiMarkupSection190);
                    node5=noCache();

                    state._fsp--;

                    adaptor.addChild(root_0, node5.getTree());

                       //retval.value =(node5!=null?node5.value:null) ;
                      

                    }
                    break;
                case 6 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:51:4: node6= noToc
                    {
                    pushFollow(FOLLOW_noToc_in_dokuWikiMarkupSection203);
                    node6=noToc();

                    state._fsp--;

                    adaptor.addChild(root_0, node6.getTree());

                       //retval.value =(node6!=null?node6.value:null) ;
                      

                    }
                    break;
                case 7 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:55:4: node7= html
                    {
                    pushFollow(FOLLOW_html_in_dokuWikiMarkupSection216);
                    node7=html();

                    state._fsp--;

                    adaptor.addChild(root_0, node7.getTree());

                       retval.value =(node7!=null?node7.value:null) ;
                      

                    }
                    break;
                case 8 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:59:4: node8= codeBlock
                    {
                    pushFollow(FOLLOW_codeBlock_in_dokuWikiMarkupSection229);
                    node8=codeBlock();

                    state._fsp--;

                    adaptor.addChild(root_0, node8.getTree());

                       retval.value =(node8!=null?node8.value:null) ;
                      

                    }
                    break;
                case 9 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:63:4: node9= table
                    {
                    pushFollow(FOLLOW_table_in_dokuWikiMarkupSection242);
                    node9=table();

                    state._fsp--;

                    adaptor.addChild(root_0, node9.getTree());

                       retval.value =(node9!=null?node9.value:null) ;
                      

                    }
                    break;
                case 10 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:67:4: node10= qouting
                    {
                    pushFollow(FOLLOW_qouting_in_dokuWikiMarkupSection255);
                    node10=qouting();

                    state._fsp--;

                    adaptor.addChild(root_0, node10.getTree());

                       retval.value =(node10!=null?node10.value:null) ;
                      

                    }
                    break;
                case 11 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:71:4: node11= boldText
                    {
                    pushFollow(FOLLOW_boldText_in_dokuWikiMarkupSection268);
                    node11=boldText();

                    state._fsp--;

                    adaptor.addChild(root_0, node11.getTree());

                       retval.value =(node11!=null?node11.value:null) ;
                      

                    }
                    break;
                case 12 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:75:4: node12= italicText
                    {
                    pushFollow(FOLLOW_italicText_in_dokuWikiMarkupSection281);
                    node12=italicText();

                    state._fsp--;

                    adaptor.addChild(root_0, node12.getTree());

                       retval.value =(node12!=null?node12.value:null) ;
                      

                    }
                    break;
                case 13 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:79:4: node13= underlineText
                    {
                    pushFollow(FOLLOW_underlineText_in_dokuWikiMarkupSection294);
                    node13=underlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, node13.getTree());

                       retval.value =(node13!=null?node13.value:null) ;
                      

                    }
                    break;
                case 14 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:83:4: newLine
                    {
                    pushFollow(FOLLOW_newLine_in_dokuWikiMarkupSection305);
                    newLine2=newLine();

                    state._fsp--;

                    adaptor.addChild(root_0, newLine2.getTree());

                       retval.value = new Text("\n", null) ;
                      

                    }
                    break;
                case 15 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:87:4: node15= link
                    {
                    pushFollow(FOLLOW_link_in_dokuWikiMarkupSection318);
                    node15=link();

                    state._fsp--;

                    adaptor.addChild(root_0, node15.getTree());

                    	 retval.value = (node15!=null?node15.value:null) ;
                    	

                    }
                    break;
                case 16 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:91:4: node16= mail
                    {
                    pushFollow(FOLLOW_mail_in_dokuWikiMarkupSection328);
                    node16=mail();

                    state._fsp--;

                    adaptor.addChild(root_0, node16.getTree());

                       retval.value =(node16!=null?node16.value:null) ;
                      

                    }
                    break;
                case 17 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:95:4: node17= headline
                    {
                    pushFollow(FOLLOW_headline_in_dokuWikiMarkupSection341);
                    node17=headline();

                    state._fsp--;

                    adaptor.addChild(root_0, node17.getTree());

                       retval.value =(node17!=null?node17.value:null) ;
                      

                    }
                    break;
                case 18 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:99:4: node18= image
                    {
                    pushFollow(FOLLOW_image_in_dokuWikiMarkupSection354);
                    node18=image();

                    state._fsp--;

                    adaptor.addChild(root_0, node18.getTree());

                       retval.value =(node18!=null?node18.value:null) ;
                      

                    }
                    break;
                case 19 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:103:4: node19= noWiki
                    {
                    pushFollow(FOLLOW_noWiki_in_dokuWikiMarkupSection367);
                    node19=noWiki();

                    state._fsp--;

                    adaptor.addChild(root_0, node19.getTree());

                       retval.value =(node19!=null?node19.value:null) ;
                      

                    }
                    break;

            }


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "dokuWikiMarkupSection"

    public static class insideBoldText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "insideBoldText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:110:1: insideBoldText returns [Text value] : (i= italicText in= insideBoldText | u= underlineText in2= insideBoldText | l= line in3= insideBoldText | NEWLINE in4= insideBoldText | () );
    public final DokuWikiParser.insideBoldText_return insideBoldText() throws RecognitionException {
        DokuWikiParser.insideBoldText_return retval = new DokuWikiParser.insideBoldText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINE3=null;
        DokuWikiParser.italicText_return i = null;

        DokuWikiParser.insideBoldText_return in = null;

        DokuWikiParser.underlineText_return u = null;

        DokuWikiParser.insideBoldText_return in2 = null;

        DokuWikiParser.line_return l = null;

        DokuWikiParser.insideBoldText_return in3 = null;

        DokuWikiParser.insideBoldText_return in4 = null;


        Object NEWLINE3_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:110:37: (i= italicText in= insideBoldText | u= underlineText in2= insideBoldText | l= line in3= insideBoldText | NEWLINE in4= insideBoldText | () )
            int alt3=5;
            switch ( input.LA(1) ) {
            case ITALICSYMBOL:
                {
                alt3=1;
                }
                break;
            case UNDERLINESYMBOL:
                {
                alt3=2;
                }
                break;
            case WHITESPACE:
            case WORD:
            case PUNCTUATIONMARK:
            case NUMBER:
            case SPECIALPUNCTUATIONMARK:
                {
                alt3=3;
                }
                break;
            case NEWLINE:
                {
                alt3=4;
                }
                break;
            case BOLDSYMBOL:
                {
                alt3=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }

            switch (alt3) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:111:3: i= italicText in= insideBoldText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_italicText_in_insideBoldText394);
                    i=italicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i.getTree());
                    pushFollow(FOLLOW_insideBoldText_in_insideBoldText398);
                    in=insideBoldText();

                    state._fsp--;

                    adaptor.addChild(root_0, in.getTree());

                        retval.value = new Text((i!=null?i.value:null), (in!=null?in.value:null), null) ;
                      

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:115:5: u= underlineText in2= insideBoldText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_underlineText_in_insideBoldText411);
                    u=underlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, u.getTree());
                    pushFollow(FOLLOW_insideBoldText_in_insideBoldText415);
                    in2=insideBoldText();

                    state._fsp--;

                    adaptor.addChild(root_0, in2.getTree());

                        retval.value = new Text((u!=null?u.value:null), (in2!=null?in2.value:null), null) ;
                      

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:119:5: l= line in3= insideBoldText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_line_in_insideBoldText427);
                    l=line();

                    state._fsp--;

                    adaptor.addChild(root_0, l.getTree());
                    pushFollow(FOLLOW_insideBoldText_in_insideBoldText431);
                    in3=insideBoldText();

                    state._fsp--;

                    adaptor.addChild(root_0, in3.getTree());

                        retval.value = new Text(new Text((l!=null?input.toString(l.start,l.stop):null), null), (in3!=null?in3.value:null), null) ;
                      

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:123:5: NEWLINE in4= insideBoldText
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE3=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_insideBoldText441); 
                    NEWLINE3_tree = (Object)adaptor.create(NEWLINE3);
                    adaptor.addChild(root_0, NEWLINE3_tree);

                    pushFollow(FOLLOW_insideBoldText_in_insideBoldText445);
                    in4=insideBoldText();

                    state._fsp--;

                    adaptor.addChild(root_0, in4.getTree());

                        retval.value = new Text(new Text("\n", null), (in4!=null?in4.value:null), null) ;
                      

                    }
                    break;
                case 5 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:127:5: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:127:5: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:127:6: 
                    {
                    }


                        retval.value = null ;
                      

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "insideBoldText"

    public static class boldText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "boldText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:132:1: boldText returns [Text value] : BOLDSYMBOL i= insideBoldText BOLDSYMBOL ;
    public final DokuWikiParser.boldText_return boldText() throws RecognitionException {
        DokuWikiParser.boldText_return retval = new DokuWikiParser.boldText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token BOLDSYMBOL4=null;
        Token BOLDSYMBOL5=null;
        DokuWikiParser.insideBoldText_return i = null;


        Object BOLDSYMBOL4_tree=null;
        Object BOLDSYMBOL5_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:132:31: ( BOLDSYMBOL i= insideBoldText BOLDSYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:133:2: BOLDSYMBOL i= insideBoldText BOLDSYMBOL
            {
            root_0 = (Object)adaptor.nil();

            BOLDSYMBOL4=(Token)match(input,BOLDSYMBOL,FOLLOW_BOLDSYMBOL_in_boldText474); 
            BOLDSYMBOL4_tree = (Object)adaptor.create(BOLDSYMBOL4);
            adaptor.addChild(root_0, BOLDSYMBOL4_tree);

            pushFollow(FOLLOW_insideBoldText_in_boldText478);
            i=insideBoldText();

            state._fsp--;

            adaptor.addChild(root_0, i.getTree());
            BOLDSYMBOL5=(Token)match(input,BOLDSYMBOL,FOLLOW_BOLDSYMBOL_in_boldText480); 
            BOLDSYMBOL5_tree = (Object)adaptor.create(BOLDSYMBOL5);
            adaptor.addChild(root_0, BOLDSYMBOL5_tree);


            		  (i!=null?i.value:null).setTextFormatting(TextFormatting.BOLD) ;
              	 retval.value = (i!=null?i.value:null) ;
            		

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "boldText"

    public static class insideItalicText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "insideItalicText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:139:1: insideItalicText returns [Text value] : (b= boldText i1= insideItalicText | u= underlineText i2= insideItalicText | l= line i3= insideItalicText | NEWLINE in4= insideItalicText | () );
    public final DokuWikiParser.insideItalicText_return insideItalicText() throws RecognitionException {
        DokuWikiParser.insideItalicText_return retval = new DokuWikiParser.insideItalicText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINE6=null;
        DokuWikiParser.boldText_return b = null;

        DokuWikiParser.insideItalicText_return i1 = null;

        DokuWikiParser.underlineText_return u = null;

        DokuWikiParser.insideItalicText_return i2 = null;

        DokuWikiParser.line_return l = null;

        DokuWikiParser.insideItalicText_return i3 = null;

        DokuWikiParser.insideItalicText_return in4 = null;


        Object NEWLINE6_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:139:39: (b= boldText i1= insideItalicText | u= underlineText i2= insideItalicText | l= line i3= insideItalicText | NEWLINE in4= insideItalicText | () )
            int alt4=5;
            switch ( input.LA(1) ) {
            case BOLDSYMBOL:
                {
                alt4=1;
                }
                break;
            case UNDERLINESYMBOL:
                {
                alt4=2;
                }
                break;
            case WHITESPACE:
            case WORD:
            case PUNCTUATIONMARK:
            case NUMBER:
            case SPECIALPUNCTUATIONMARK:
                {
                alt4=3;
                }
                break;
            case NEWLINE:
                {
                alt4=4;
                }
                break;
            case ITALICSYMBOL:
                {
                alt4=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:140:3: b= boldText i1= insideItalicText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_boldText_in_insideItalicText501);
                    b=boldText();

                    state._fsp--;

                    adaptor.addChild(root_0, b.getTree());
                    pushFollow(FOLLOW_insideItalicText_in_insideItalicText505);
                    i1=insideItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i1.getTree());

                        retval.value = new Text((b!=null?b.value:null), (i1!=null?i1.value:null), null) ;
                      

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:144:5: u= underlineText i2= insideItalicText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_underlineText_in_insideItalicText517);
                    u=underlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, u.getTree());
                    pushFollow(FOLLOW_insideItalicText_in_insideItalicText521);
                    i2=insideItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i2.getTree());

                        retval.value = new Text((u!=null?u.value:null), (i2!=null?i2.value:null), null) ;
                      

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:148:5: l= line i3= insideItalicText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_line_in_insideItalicText533);
                    l=line();

                    state._fsp--;

                    adaptor.addChild(root_0, l.getTree());
                    pushFollow(FOLLOW_insideItalicText_in_insideItalicText537);
                    i3=insideItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i3.getTree());

                        retval.value = new Text(new Text((l!=null?input.toString(l.start,l.stop):null), null), (i3!=null?i3.value:null), null) ;
                      

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:152:4: NEWLINE in4= insideItalicText
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE6=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_insideItalicText546); 
                    NEWLINE6_tree = (Object)adaptor.create(NEWLINE6);
                    adaptor.addChild(root_0, NEWLINE6_tree);

                    pushFollow(FOLLOW_insideItalicText_in_insideItalicText550);
                    in4=insideItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, in4.getTree());

                        retval.value = new Text(new Text("\n", null), (in4!=null?in4.value:null), null) ;
                      

                    }
                    break;
                case 5 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:156:5: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:156:5: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:156:6: 
                    {
                    }


                        retval.value = null ;
                      

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "insideItalicText"

    public static class italicText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "italicText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:161:1: italicText returns [Text value] : ITALICSYMBOL i= insideItalicText ITALICSYMBOL ;
    public final DokuWikiParser.italicText_return italicText() throws RecognitionException {
        DokuWikiParser.italicText_return retval = new DokuWikiParser.italicText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token ITALICSYMBOL7=null;
        Token ITALICSYMBOL8=null;
        DokuWikiParser.insideItalicText_return i = null;


        Object ITALICSYMBOL7_tree=null;
        Object ITALICSYMBOL8_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:161:33: ( ITALICSYMBOL i= insideItalicText ITALICSYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:162:2: ITALICSYMBOL i= insideItalicText ITALICSYMBOL
            {
            root_0 = (Object)adaptor.nil();

            ITALICSYMBOL7=(Token)match(input,ITALICSYMBOL,FOLLOW_ITALICSYMBOL_in_italicText581); 
            ITALICSYMBOL7_tree = (Object)adaptor.create(ITALICSYMBOL7);
            adaptor.addChild(root_0, ITALICSYMBOL7_tree);

            pushFollow(FOLLOW_insideItalicText_in_italicText585);
            i=insideItalicText();

            state._fsp--;

            adaptor.addChild(root_0, i.getTree());
            ITALICSYMBOL8=(Token)match(input,ITALICSYMBOL,FOLLOW_ITALICSYMBOL_in_italicText587); 
            ITALICSYMBOL8_tree = (Object)adaptor.create(ITALICSYMBOL8);
            adaptor.addChild(root_0, ITALICSYMBOL8_tree);

             
                  (i!=null?i.value:null).setTextFormatting(TextFormatting.ITALIC) ;
            		  retval.value = (i!=null?i.value:null) ;
            	  

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "italicText"

    public static class deletedText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "deletedText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:168:1: deletedText returns [Text value] : DELETED node= text DELETEDC ;
    public final DokuWikiParser.deletedText_return deletedText() throws RecognitionException {
        DokuWikiParser.deletedText_return retval = new DokuWikiParser.deletedText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token DELETED9=null;
        Token DELETEDC10=null;
        DokuWikiParser.text_return node = null;


        Object DELETED9_tree=null;
        Object DELETEDC10_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:168:34: ( DELETED node= text DELETEDC )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:169:2: DELETED node= text DELETEDC
            {
            root_0 = (Object)adaptor.nil();

            DELETED9=(Token)match(input,DELETED,FOLLOW_DELETED_in_deletedText605); 
            DELETED9_tree = (Object)adaptor.create(DELETED9);
            adaptor.addChild(root_0, DELETED9_tree);

            pushFollow(FOLLOW_text_in_deletedText609);
            node=text();

            state._fsp--;

            adaptor.addChild(root_0, node.getTree());
            DELETEDC10=(Token)match(input,DELETEDC,FOLLOW_DELETEDC_in_deletedText611); 
            DELETEDC10_tree = (Object)adaptor.create(DELETEDC10);
            adaptor.addChild(root_0, DELETEDC10_tree);


            		retval.value = new Text((node!=null?node.value:null).toString(), null) ;	
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "deletedText"

    public static class insideUnderlineText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "insideUnderlineText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:174:1: insideUnderlineText returns [Text value] : (b= boldText i1= insideUnderlineText | i= italicText i2= insideUnderlineText | l= line i3= insideUnderlineText | NEWLINE in4= insideUnderlineText | () );
    public final DokuWikiParser.insideUnderlineText_return insideUnderlineText() throws RecognitionException {
        DokuWikiParser.insideUnderlineText_return retval = new DokuWikiParser.insideUnderlineText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINE11=null;
        DokuWikiParser.boldText_return b = null;

        DokuWikiParser.insideUnderlineText_return i1 = null;

        DokuWikiParser.italicText_return i = null;

        DokuWikiParser.insideUnderlineText_return i2 = null;

        DokuWikiParser.line_return l = null;

        DokuWikiParser.insideUnderlineText_return i3 = null;

        DokuWikiParser.insideUnderlineText_return in4 = null;


        Object NEWLINE11_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:174:42: (b= boldText i1= insideUnderlineText | i= italicText i2= insideUnderlineText | l= line i3= insideUnderlineText | NEWLINE in4= insideUnderlineText | () )
            int alt5=5;
            switch ( input.LA(1) ) {
            case BOLDSYMBOL:
                {
                alt5=1;
                }
                break;
            case ITALICSYMBOL:
                {
                alt5=2;
                }
                break;
            case WHITESPACE:
            case WORD:
            case PUNCTUATIONMARK:
            case NUMBER:
            case SPECIALPUNCTUATIONMARK:
                {
                alt5=3;
                }
                break;
            case NEWLINE:
                {
                alt5=4;
                }
                break;
            case UNDERLINESYMBOL:
                {
                alt5=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;
            }

            switch (alt5) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:175:3: b= boldText i1= insideUnderlineText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_boldText_in_insideUnderlineText630);
                    b=boldText();

                    state._fsp--;

                    adaptor.addChild(root_0, b.getTree());
                    pushFollow(FOLLOW_insideUnderlineText_in_insideUnderlineText634);
                    i1=insideUnderlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, i1.getTree());

                        retval.value = new Text((b!=null?b.value:null), (i1!=null?i1.value:null), null) ;
                      

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:179:5: i= italicText i2= insideUnderlineText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_italicText_in_insideUnderlineText646);
                    i=italicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i.getTree());
                    pushFollow(FOLLOW_insideUnderlineText_in_insideUnderlineText650);
                    i2=insideUnderlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, i2.getTree());

                        retval.value = new Text((i!=null?i.value:null), (i2!=null?i2.value:null), null) ;
                      

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:183:5: l= line i3= insideUnderlineText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_line_in_insideUnderlineText662);
                    l=line();

                    state._fsp--;

                    adaptor.addChild(root_0, l.getTree());
                    pushFollow(FOLLOW_insideUnderlineText_in_insideUnderlineText666);
                    i3=insideUnderlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, i3.getTree());

                        retval.value = new Text(new Text((l!=null?input.toString(l.start,l.stop):null), null), (i3!=null?i3.value:null), null) ;
                      

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:187:4: NEWLINE in4= insideUnderlineText
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE11=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_insideUnderlineText675); 
                    NEWLINE11_tree = (Object)adaptor.create(NEWLINE11);
                    adaptor.addChild(root_0, NEWLINE11_tree);

                    pushFollow(FOLLOW_insideUnderlineText_in_insideUnderlineText679);
                    in4=insideUnderlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, in4.getTree());

                        retval.value = new Text(new Text("\n", null), (in4!=null?in4.value:null), null) ;
                      

                    }
                    break;
                case 5 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:191:5: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:191:5: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:191:6: 
                    {
                    }


                        retval.value = null ;
                      

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "insideUnderlineText"

    public static class underlineText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "underlineText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:196:1: underlineText returns [Text value] : UNDERLINESYMBOL i= insideUnderlineText UNDERLINESYMBOL ;
    public final DokuWikiParser.underlineText_return underlineText() throws RecognitionException {
        DokuWikiParser.underlineText_return retval = new DokuWikiParser.underlineText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token UNDERLINESYMBOL12=null;
        Token UNDERLINESYMBOL13=null;
        DokuWikiParser.insideUnderlineText_return i = null;


        Object UNDERLINESYMBOL12_tree=null;
        Object UNDERLINESYMBOL13_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:196:36: ( UNDERLINESYMBOL i= insideUnderlineText UNDERLINESYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:197:2: UNDERLINESYMBOL i= insideUnderlineText UNDERLINESYMBOL
            {
            root_0 = (Object)adaptor.nil();

            UNDERLINESYMBOL12=(Token)match(input,UNDERLINESYMBOL,FOLLOW_UNDERLINESYMBOL_in_underlineText709); 
            UNDERLINESYMBOL12_tree = (Object)adaptor.create(UNDERLINESYMBOL12);
            adaptor.addChild(root_0, UNDERLINESYMBOL12_tree);

            pushFollow(FOLLOW_insideUnderlineText_in_underlineText713);
            i=insideUnderlineText();

            state._fsp--;

            adaptor.addChild(root_0, i.getTree());
            UNDERLINESYMBOL13=(Token)match(input,UNDERLINESYMBOL,FOLLOW_UNDERLINESYMBOL_in_underlineText715); 
            UNDERLINESYMBOL13_tree = (Object)adaptor.create(UNDERLINESYMBOL13);
            adaptor.addChild(root_0, UNDERLINESYMBOL13_tree);


            		  (i!=null?i.value:null).setTextFormatting(TextFormatting.UNDERLINE) ;
            		  retval.value = (i!=null?i.value:null) ; 
            		

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "underlineText"

    public static class footnoteText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "footnoteText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:203:1: footnoteText returns [Text value] : FOOTNOTESYMBOL node= text FOOTNOTESYMBOLC ;
    public final DokuWikiParser.footnoteText_return footnoteText() throws RecognitionException {
        DokuWikiParser.footnoteText_return retval = new DokuWikiParser.footnoteText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token FOOTNOTESYMBOL14=null;
        Token FOOTNOTESYMBOLC15=null;
        DokuWikiParser.text_return node = null;


        Object FOOTNOTESYMBOL14_tree=null;
        Object FOOTNOTESYMBOLC15_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:203:34: ( FOOTNOTESYMBOL node= text FOOTNOTESYMBOLC )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:204:2: FOOTNOTESYMBOL node= text FOOTNOTESYMBOLC
            {
            root_0 = (Object)adaptor.nil();

            FOOTNOTESYMBOL14=(Token)match(input,FOOTNOTESYMBOL,FOLLOW_FOOTNOTESYMBOL_in_footnoteText731); 
            FOOTNOTESYMBOL14_tree = (Object)adaptor.create(FOOTNOTESYMBOL14);
            adaptor.addChild(root_0, FOOTNOTESYMBOL14_tree);

            pushFollow(FOLLOW_text_in_footnoteText735);
            node=text();

            state._fsp--;

            adaptor.addChild(root_0, node.getTree());
            FOOTNOTESYMBOLC15=(Token)match(input,FOOTNOTESYMBOLC,FOLLOW_FOOTNOTESYMBOLC_in_footnoteText737); 
            FOOTNOTESYMBOLC15_tree = (Object)adaptor.create(FOOTNOTESYMBOLC15);
            adaptor.addChild(root_0, FOOTNOTESYMBOLC15_tree);

             retval.value = new Text((node!=null?node.value:null).toString(), TextFormatting.FOOTNOTE) ; 

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "footnoteText"

    public static class text_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "text"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:207:1: text returns [Text value] : (t1= textBlock t2= text | NEWLINE t= text | () );
    public final DokuWikiParser.text_return text() throws RecognitionException {
        DokuWikiParser.text_return retval = new DokuWikiParser.text_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINE16=null;
        DokuWikiParser.textBlock_return t1 = null;

        DokuWikiParser.text_return t2 = null;

        DokuWikiParser.text_return t = null;


        Object NEWLINE16_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:207:27: (t1= textBlock t2= text | NEWLINE t= text | () )
            int alt6=3;
            switch ( input.LA(1) ) {
            case WHITESPACE:
            case WORD:
            case PUNCTUATIONMARK:
            case NUMBER:
            case SPECIALPUNCTUATIONMARK:
                {
                alt6=1;
                }
                break;
            case NEWLINE:
                {
                alt6=2;
                }
                break;
            case DELETEDC:
            case FOOTNOTESYMBOLC:
            case LINKSYMBOLC:
            case HEADLINESYMBOL:
            case IMAGESYMBOLC:
                {
                alt6=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;
            }

            switch (alt6) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:208:2: t1= textBlock t2= text
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_textBlock_in_text756);
                    t1=textBlock();

                    state._fsp--;

                    adaptor.addChild(root_0, t1.getTree());
                    pushFollow(FOLLOW_text_in_text760);
                    t2=text();

                    state._fsp--;

                    adaptor.addChild(root_0, t2.getTree());
                     retval.value = new Text((t1!=null?input.toString(t1.start,t1.stop):null) + (t2!=null?t2.value:null).toString(), null) ;

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:210:4: NEWLINE t= text
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE16=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_text772); 
                    NEWLINE16_tree = (Object)adaptor.create(NEWLINE16);
                    adaptor.addChild(root_0, NEWLINE16_tree);

                    pushFollow(FOLLOW_text_in_text776);
                    t=text();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());
                     retval.value = new Text("\n" + (t!=null?t.value:null).toString(), null) ;

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:212:4: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:212:4: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:212:5: 
                    {
                    }

                     retval.value = new Text("", null) ; 

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "text"

    public static class newLine_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "newLine"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:215:1: newLine : NEWLINESYMBOL ;
    public final DokuWikiParser.newLine_return newLine() throws RecognitionException {
        DokuWikiParser.newLine_return retval = new DokuWikiParser.newLine_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINESYMBOL17=null;

        Object NEWLINESYMBOL17_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:215:9: ( NEWLINESYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:216:2: NEWLINESYMBOL
            {
            root_0 = (Object)adaptor.nil();

            NEWLINESYMBOL17=(Token)match(input,NEWLINESYMBOL,FOLLOW_NEWLINESYMBOL_in_newLine802); 
            NEWLINESYMBOL17_tree = (Object)adaptor.create(NEWLINESYMBOL17);
            adaptor.addChild(root_0, NEWLINESYMBOL17_tree);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "newLine"

    public static class link_return extends ParserRuleReturnScope {
        public Link value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "link"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:218:1: link returns [Link value] : ( ( LINKSYMBOL (a= ADDRESS | p= linkText ) ( LINKTEXTSYMBOL t= text )? LINKSYMBOLC ) | a1= ADDRESS );
    public final DokuWikiParser.link_return link() throws RecognitionException {
        DokuWikiParser.link_return retval = new DokuWikiParser.link_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token a=null;
        Token a1=null;
        Token LINKSYMBOL18=null;
        Token LINKTEXTSYMBOL19=null;
        Token LINKSYMBOLC20=null;
        DokuWikiParser.linkText_return p = null;

        DokuWikiParser.text_return t = null;


        Object a_tree=null;
        Object a1_tree=null;
        Object LINKSYMBOL18_tree=null;
        Object LINKTEXTSYMBOL19_tree=null;
        Object LINKSYMBOLC20_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:218:27: ( ( LINKSYMBOL (a= ADDRESS | p= linkText ) ( LINKTEXTSYMBOL t= text )? LINKSYMBOLC ) | a1= ADDRESS )
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==LINKSYMBOL) ) {
                alt9=1;
            }
            else if ( (LA9_0==ADDRESS) ) {
                alt9=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;
            }
            switch (alt9) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:219:2: ( LINKSYMBOL (a= ADDRESS | p= linkText ) ( LINKTEXTSYMBOL t= text )? LINKSYMBOLC )
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:219:2: ( LINKSYMBOL (a= ADDRESS | p= linkText ) ( LINKTEXTSYMBOL t= text )? LINKSYMBOLC )
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:219:3: LINKSYMBOL (a= ADDRESS | p= linkText ) ( LINKTEXTSYMBOL t= text )? LINKSYMBOLC
                    {
                    LINKSYMBOL18=(Token)match(input,LINKSYMBOL,FOLLOW_LINKSYMBOL_in_link818); 
                    LINKSYMBOL18_tree = (Object)adaptor.create(LINKSYMBOL18);
                    adaptor.addChild(root_0, LINKSYMBOL18_tree);

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:219:14: (a= ADDRESS | p= linkText )
                    int alt7=2;
                    int LA7_0 = input.LA(1);

                    if ( (LA7_0==ADDRESS) ) {
                        alt7=1;
                    }
                    else if ( (LA7_0==NEWLINE||(LA7_0>=LINKTEXTSYMBOL && LA7_0<=LINKSYMBOLC)||(LA7_0>=WHITESPACE && LA7_0<=SPECIALPUNCTUATIONMARK)||(LA7_0>=SIZE && LA7_0<=IMAGESYMBOLC)||LA7_0==HEADERTABLESYMBOL) ) {
                        alt7=2;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 7, 0, input);

                        throw nvae;
                    }
                    switch (alt7) {
                        case 1 :
                            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:219:15: a= ADDRESS
                            {
                            a=(Token)match(input,ADDRESS,FOLLOW_ADDRESS_in_link823); 
                            a_tree = (Object)adaptor.create(a);
                            adaptor.addChild(root_0, a_tree);


                            }
                            break;
                        case 2 :
                            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:219:27: p= linkText
                            {
                            pushFollow(FOLLOW_linkText_in_link829);
                            p=linkText();

                            state._fsp--;

                            adaptor.addChild(root_0, p.getTree());

                            }
                            break;

                    }

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:219:39: ( LINKTEXTSYMBOL t= text )?
                    int alt8=2;
                    int LA8_0 = input.LA(1);

                    if ( (LA8_0==LINKTEXTSYMBOL) ) {
                        alt8=1;
                    }
                    switch (alt8) {
                        case 1 :
                            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:219:40: LINKTEXTSYMBOL t= text
                            {
                            LINKTEXTSYMBOL19=(Token)match(input,LINKTEXTSYMBOL,FOLLOW_LINKTEXTSYMBOL_in_link833); 
                            LINKTEXTSYMBOL19_tree = (Object)adaptor.create(LINKTEXTSYMBOL19);
                            adaptor.addChild(root_0, LINKTEXTSYMBOL19_tree);

                            pushFollow(FOLLOW_text_in_link837);
                            t=text();

                            state._fsp--;

                            adaptor.addChild(root_0, t.getTree());

                            }
                            break;

                    }

                    LINKSYMBOLC20=(Token)match(input,LINKSYMBOLC,FOLLOW_LINKSYMBOLC_in_link841); 
                    LINKSYMBOLC20_tree = (Object)adaptor.create(LINKSYMBOLC20);
                    adaptor.addChild(root_0, LINKSYMBOLC20_tree);


                    }


                    			if(a != null) //CZY a.value
                    				if((t!=null?t.value:null) != null) 
                    					retval.value = new Link(new Text((a!=null?a.getText():null), null), new Text((t!=null?t.value:null).toString(), null)) ; 
                    				else
                    					retval.value = new Link(new Text((a!=null?a.getText():null), null), null) ;
                    			if((p!=null?p.value:null) != null)//p.value auch nicht null?
                    				if( (t!=null?t.value:null) != null) 
                    					retval.value = new Link(new Text((p!=null?p.value:null).toString(), null), new Text((t!=null?t.value:null).toString(), null)) ; 
                    				else
                    					retval.value = new Link(new Text((p!=null?p.value:null).toString(), null), null) ;
                    		

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:232:4: a1= ADDRESS
                    {
                    root_0 = (Object)adaptor.nil();

                    a1=(Token)match(input,ADDRESS,FOLLOW_ADDRESS_in_link853); 
                    a1_tree = (Object)adaptor.create(a1);
                    adaptor.addChild(root_0, a1_tree);

                     retval.value = new Link(new Text((a1!=null?a1.getText():null), null), null) ; 

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "link"

    public static class mail_return extends ParserRuleReturnScope {
        public Mail value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "mail"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:235:1: mail returns [Mail value] : m= MAIL ;
    public final DokuWikiParser.mail_return mail() throws RecognitionException {
        DokuWikiParser.mail_return retval = new DokuWikiParser.mail_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token m=null;

        Object m_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:235:27: (m= MAIL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:236:2: m= MAIL
            {
            root_0 = (Object)adaptor.nil();

            m=(Token)match(input,MAIL,FOLLOW_MAIL_in_mail874); 
            m_tree = (Object)adaptor.create(m);
            adaptor.addChild(root_0, m_tree);

             retval.value = new Mail(new Text((m!=null?m.getText():null).substring(1, (m!=null?m.getText():null).length() - 1), null), null) ; 

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "mail"

    public static class linkText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "linkText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:239:1: linkText returns [Text value] : (t1= textBlock t2= linkText | () );
    public final DokuWikiParser.linkText_return linkText() throws RecognitionException {
        DokuWikiParser.linkText_return retval = new DokuWikiParser.linkText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        DokuWikiParser.textBlock_return t1 = null;

        DokuWikiParser.linkText_return t2 = null;



        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:239:31: (t1= textBlock t2= linkText | () )
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( ((LA10_0>=WHITESPACE && LA10_0<=SPECIALPUNCTUATIONMARK)) ) {
                alt10=1;
            }
            else if ( (LA10_0==NEWLINE||(LA10_0>=LINKTEXTSYMBOL && LA10_0<=LINKSYMBOLC)||(LA10_0>=SIZE && LA10_0<=IMAGESYMBOLC)||LA10_0==HEADERTABLESYMBOL) ) {
                alt10=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 10, 0, input);

                throw nvae;
            }
            switch (alt10) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:240:2: t1= textBlock t2= linkText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_textBlock_in_linkText897);
                    t1=textBlock();

                    state._fsp--;

                    adaptor.addChild(root_0, t1.getTree());
                    pushFollow(FOLLOW_linkText_in_linkText901);
                    t2=linkText();

                    state._fsp--;

                    adaptor.addChild(root_0, t2.getTree());

                    		String t2Text = "" ;
                    		if((t2!=null?t2.value:null) != null) //CZY (t2!=null?t2.value:null)
                    			t2Text = (t2!=null?t2.value:null).toString() ;
                    		retval.value = new Text((t1!=null?input.toString(t1.start,t1.stop):null) + t2Text, null) ;
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:247:4: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:247:4: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:247:5: 
                    {
                    }


                    		retval.value = null ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "linkText"

    public static class headline_return extends ParserRuleReturnScope {
        public Headline value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "headline"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:252:1: headline returns [Headline value] : h1= HEADLINESYMBOL t= text h2= HEADLINESYMBOL ;
    public final DokuWikiParser.headline_return headline() throws RecognitionException {
        DokuWikiParser.headline_return retval = new DokuWikiParser.headline_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token h1=null;
        Token h2=null;
        DokuWikiParser.text_return t = null;


        Object h1_tree=null;
        Object h2_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:252:35: (h1= HEADLINESYMBOL t= text h2= HEADLINESYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:253:2: h1= HEADLINESYMBOL t= text h2= HEADLINESYMBOL
            {
            root_0 = (Object)adaptor.nil();

            h1=(Token)match(input,HEADLINESYMBOL,FOLLOW_HEADLINESYMBOL_in_headline930); 
            h1_tree = (Object)adaptor.create(h1);
            adaptor.addChild(root_0, h1_tree);

            pushFollow(FOLLOW_text_in_headline934);
            t=text();

            state._fsp--;

            adaptor.addChild(root_0, t.getTree());
            h2=(Token)match(input,HEADLINESYMBOL,FOLLOW_HEADLINESYMBOL_in_headline938); 
            h2_tree = (Object)adaptor.create(h2);
            adaptor.addChild(root_0, h2_tree);


            		if((h1!=null?h1.getText():null).length() == (h2!=null?h2.getText():null).length())
            			retval.value = new Headline((t!=null?t.value:null).toString(), 7-(h1!=null?h1.getText():null).length()) ;
            		else 
            		{
            			if((h1!=null?h1.getText():null).length() > (h2!=null?h2.getText():null).length())
            				retval.value = new Headline((h1!=null?h1.getText():null).substring( (h2!=null?h2.getText():null).length()) + (t!=null?t.value:null).toString(), 7-(h2!=null?h2.getText():null).length()) ;
            			else
            				retval.value = new Headline((t!=null?t.value:null).toString() + (h2!=null?h2.getText():null).substring( (h1!=null?h1.getText():null).length()), 7-(h1!=null?h1.getText():null).length()) ;
            				
            		}
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "headline"

    public static class textBlock_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "textBlock"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:267:1: textBlock : ( WHITESPACE | WORD | PUNCTUATIONMARK | NUMBER | SPECIALPUNCTUATIONMARK ) ;
    public final DokuWikiParser.textBlock_return textBlock() throws RecognitionException {
        DokuWikiParser.textBlock_return retval = new DokuWikiParser.textBlock_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set21=null;

        Object set21_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:267:11: ( ( WHITESPACE | WORD | PUNCTUATIONMARK | NUMBER | SPECIALPUNCTUATIONMARK ) )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:268:2: ( WHITESPACE | WORD | PUNCTUATIONMARK | NUMBER | SPECIALPUNCTUATIONMARK )
            {
            root_0 = (Object)adaptor.nil();

            set21=(Token)input.LT(1);
            if ( (input.LA(1)>=WHITESPACE && input.LA(1)<=SPECIALPUNCTUATIONMARK) ) {
                input.consume();
                adaptor.addChild(root_0, (Object)adaptor.create(set21));
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "textBlock"

    public static class image_return extends ParserRuleReturnScope {
        public Image value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "image"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:270:1: image returns [Image value] : IMAGESYMBOL (p= linkText | a= ADDRESS ) (s= SIZE )? ( LINKTEXTSYMBOL t= text )? IMAGESYMBOLC ;
    public final DokuWikiParser.image_return image() throws RecognitionException {
        DokuWikiParser.image_return retval = new DokuWikiParser.image_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token a=null;
        Token s=null;
        Token IMAGESYMBOL22=null;
        Token LINKTEXTSYMBOL23=null;
        Token IMAGESYMBOLC24=null;
        DokuWikiParser.linkText_return p = null;

        DokuWikiParser.text_return t = null;


        Object a_tree=null;
        Object s_tree=null;
        Object IMAGESYMBOL22_tree=null;
        Object LINKTEXTSYMBOL23_tree=null;
        Object IMAGESYMBOLC24_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:270:29: ( IMAGESYMBOL (p= linkText | a= ADDRESS ) (s= SIZE )? ( LINKTEXTSYMBOL t= text )? IMAGESYMBOLC )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:271:2: IMAGESYMBOL (p= linkText | a= ADDRESS ) (s= SIZE )? ( LINKTEXTSYMBOL t= text )? IMAGESYMBOLC
            {
            root_0 = (Object)adaptor.nil();

            IMAGESYMBOL22=(Token)match(input,IMAGESYMBOL,FOLLOW_IMAGESYMBOL_in_image984); 
            IMAGESYMBOL22_tree = (Object)adaptor.create(IMAGESYMBOL22);
            adaptor.addChild(root_0, IMAGESYMBOL22_tree);

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:271:14: (p= linkText | a= ADDRESS )
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==NEWLINE||(LA11_0>=LINKTEXTSYMBOL && LA11_0<=LINKSYMBOLC)||(LA11_0>=WHITESPACE && LA11_0<=SPECIALPUNCTUATIONMARK)||(LA11_0>=SIZE && LA11_0<=IMAGESYMBOLC)||LA11_0==HEADERTABLESYMBOL) ) {
                alt11=1;
            }
            else if ( (LA11_0==ADDRESS) ) {
                alt11=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;
            }
            switch (alt11) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:271:15: p= linkText
                    {
                    pushFollow(FOLLOW_linkText_in_image989);
                    p=linkText();

                    state._fsp--;

                    adaptor.addChild(root_0, p.getTree());

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:271:28: a= ADDRESS
                    {
                    a=(Token)match(input,ADDRESS,FOLLOW_ADDRESS_in_image995); 
                    a_tree = (Object)adaptor.create(a);
                    adaptor.addChild(root_0, a_tree);


                    }
                    break;

            }

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:271:39: (s= SIZE )?
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==SIZE) ) {
                alt12=1;
            }
            switch (alt12) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:271:40: s= SIZE
                    {
                    s=(Token)match(input,SIZE,FOLLOW_SIZE_in_image1001); 
                    s_tree = (Object)adaptor.create(s);
                    adaptor.addChild(root_0, s_tree);


                    }
                    break;

            }

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:271:49: ( LINKTEXTSYMBOL t= text )?
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0==LINKTEXTSYMBOL) ) {
                alt13=1;
            }
            switch (alt13) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:271:50: LINKTEXTSYMBOL t= text
                    {
                    LINKTEXTSYMBOL23=(Token)match(input,LINKTEXTSYMBOL,FOLLOW_LINKTEXTSYMBOL_in_image1006); 
                    LINKTEXTSYMBOL23_tree = (Object)adaptor.create(LINKTEXTSYMBOL23);
                    adaptor.addChild(root_0, LINKTEXTSYMBOL23_tree);

                    pushFollow(FOLLOW_text_in_image1010);
                    t=text();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());

                    }
                    break;

            }

            IMAGESYMBOLC24=(Token)match(input,IMAGESYMBOLC,FOLLOW_IMAGESYMBOLC_in_image1014); 
            IMAGESYMBOLC24_tree = (Object)adaptor.create(IMAGESYMBOLC24);
            adaptor.addChild(root_0, IMAGESYMBOLC24_tree);


            		IComponent left = null ;
            		String addressString = null ;
            		if((s!=null?s.getText():null) != null)
            		{
            			String[] sizeTable = (s!=null?s.getText():null).substring(1).split("x") ;
            			String x = sizeTable[0] ;
            			String y = null ;
            			if(sizeTable.length > 1) 
            				y = sizeTable[1] ;
            			if((p!=null?p.value:null) != null)
            				left = new ResizableImage(new Text((p!=null?p.value:null).toString(),null), new Size(x, y)) ;
            			else
            				left = new ResizableImage(new Text((a!=null?a.getText():null), null), new Size(x, y)) ;
            		}
            		else
            		{	
            		  int lastIndex = -1 ;	
            		  if(a != null)
              		  lastIndex = (a!=null?a.getText():null).lastIndexOf("?") ;
            		  Size size2 = null ;
            		  if(lastIndex > 0)
            		  {
              		  String size = (a!=null?a.getText():null).substring(lastIndex + 1) ;
              		  if(size.matches("\\d+x?\\d*"))
              		  {
              		    addressString = (a!=null?a.getText():null).substring(0, lastIndex) ;
              		    String[] sizeTable = size.split("x") ;
                      String x = sizeTable[0] ;
                      String y = null ;
                      if(sizeTable.length > 1) 
                        y = sizeTable[1] ;
                      size2 = new Size(x, y) ;
              		  }
            		  }
            		  if(size2 == null)
            		  {
            				if((p!=null?p.value:null) != null)
            					left = new Text((p!=null?p.value:null).toString(), null) ;
            				else
            					left = new Text((a!=null?a.getText():null), null) ;
            			}
            			else
            			{
            	        left = new ResizableImage(new Text(addressString, null), size2) ;
            			}
            		}
            		if((t!=null?t.value:null) != null)
            			retval.value = new Image(left, new Text((t!=null?t.value:null).toString(), null)) ;		
            		else
            			retval.value = new Image(left, null) ;		
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "image"

    public static class list_return extends ParserRuleReturnScope {
        public AbstractWikiList value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "list"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:325:1: list returns [AbstractWikiList value] : l= LISTSYMBOL li= line ( NEWLINE | lis= list ) ;
    public final DokuWikiParser.list_return list() throws RecognitionException {
        DokuWikiParser.list_return retval = new DokuWikiParser.list_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token l=null;
        Token NEWLINE25=null;
        DokuWikiParser.line_return li = null;

        DokuWikiParser.list_return lis = null;


        Object l_tree=null;
        Object NEWLINE25_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:325:39: (l= LISTSYMBOL li= line ( NEWLINE | lis= list ) )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:326:2: l= LISTSYMBOL li= line ( NEWLINE | lis= list )
            {
            root_0 = (Object)adaptor.nil();

            l=(Token)match(input,LISTSYMBOL,FOLLOW_LISTSYMBOL_in_list1034); 
            l_tree = (Object)adaptor.create(l);
            adaptor.addChild(root_0, l_tree);

            pushFollow(FOLLOW_line_in_list1038);
            li=line();

            state._fsp--;

            adaptor.addChild(root_0, li.getTree());
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:326:23: ( NEWLINE | lis= list )
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==NEWLINE) ) {
                alt14=1;
            }
            else if ( (LA14_0==LISTSYMBOL) ) {
                alt14=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 14, 0, input);

                throw nvae;
            }
            switch (alt14) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:326:24: NEWLINE
                    {
                    NEWLINE25=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_list1041); 
                    NEWLINE25_tree = (Object)adaptor.create(NEWLINE25);
                    adaptor.addChild(root_0, NEWLINE25_tree);


                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:326:34: lis= list
                    {
                    pushFollow(FOLLOW_list_in_list1047);
                    lis=list();

                    state._fsp--;

                    adaptor.addChild(root_0, lis.getTree());

                    }
                    break;

            }


            	  IComponent nextListItem ;
            	  IComponent text = null ;
            	  if(!(li!=null?input.toString(li.start,li.stop):null).equals(""))
            	     text = new Text((li!=null?input.toString(li.start,li.stop):null), null) ;
            	  if((lis!=null?lis.value:null) == null)
                  nextListItem = new Text("\n", null) ;
                else
                  nextListItem = (lis!=null?lis.value:null) ;
            		if((l!=null?l.getText():null).endsWith("*"))
            			retval.value = new UnorderedList(new Text((li!=null?input.toString(li.start,li.stop):null), null), nextListItem ) ;
            		else
            			retval.value = new OrderedList(text, nextListItem) ;
            		int level = (l!=null?l.getText():null).length() / 2 - 1 ;
            		((AbstractWikiList)retval.value).setLevel(level) ;
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "list"

    public static class qouting_return extends ParserRuleReturnScope {
        public Quote value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "qouting"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:344:1: qouting returns [Quote value] : (q= QUOTINGSYMBOL ) (l= line ) ;
    public final DokuWikiParser.qouting_return qouting() throws RecognitionException {
        DokuWikiParser.qouting_return retval = new DokuWikiParser.qouting_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token q=null;
        DokuWikiParser.line_return l = null;


        Object q_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:344:31: ( (q= QUOTINGSYMBOL ) (l= line ) )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:345:2: (q= QUOTINGSYMBOL ) (l= line )
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:345:2: (q= QUOTINGSYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:345:3: q= QUOTINGSYMBOL
            {
            q=(Token)match(input,QUOTINGSYMBOL,FOLLOW_QUOTINGSYMBOL_in_qouting1068); 
            q_tree = (Object)adaptor.create(q);
            adaptor.addChild(root_0, q_tree);


            }

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:345:20: (l= line )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:345:21: l= line
            {
            pushFollow(FOLLOW_line_in_qouting1074);
            l=line();

            state._fsp--;

            adaptor.addChild(root_0, l.getTree());

            }


            		retval.value = new Quote((l!=null?input.toString(l.start,l.stop):null), (q!=null?q.getText():null).length() - 3) ;
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "qouting"

    public static class table_return extends ParserRuleReturnScope {
        public Table value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "table"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:350:1: table returns [Table value] : HEADERTABLESYMBOL head= tableHeader row= tableRows ;
    public final DokuWikiParser.table_return table() throws RecognitionException {
        DokuWikiParser.table_return retval = new DokuWikiParser.table_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token HEADERTABLESYMBOL26=null;
        DokuWikiParser.tableHeader_return head = null;

        DokuWikiParser.tableRows_return row = null;


        Object HEADERTABLESYMBOL26_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:350:29: ( HEADERTABLESYMBOL head= tableHeader row= tableRows )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:351:2: HEADERTABLESYMBOL head= tableHeader row= tableRows
            {
            root_0 = (Object)adaptor.nil();

            HEADERTABLESYMBOL26=(Token)match(input,HEADERTABLESYMBOL,FOLLOW_HEADERTABLESYMBOL_in_table1092); 
            HEADERTABLESYMBOL26_tree = (Object)adaptor.create(HEADERTABLESYMBOL26);
            adaptor.addChild(root_0, HEADERTABLESYMBOL26_tree);

            pushFollow(FOLLOW_tableHeader_in_table1096);
            head=tableHeader();

            state._fsp--;

            adaptor.addChild(root_0, head.getTree());
            pushFollow(FOLLOW_tableRows_in_table1100);
            row=tableRows();

            state._fsp--;

            adaptor.addChild(root_0, row.getTree());

            		retval.value = new Table((IComponent)(head!=null?head.value:null), (IComponent)(row!=null?row.value:null)) ;
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "table"

    public static class tableHeader_return extends ParserRuleReturnScope {
        public TableHeader value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "tableHeader"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:356:1: tableHeader returns [TableHeader value] : (t= linkText HEADERTABLESYMBOL h= tableHeader | NEWLINE );
    public final DokuWikiParser.tableHeader_return tableHeader() throws RecognitionException {
        DokuWikiParser.tableHeader_return retval = new DokuWikiParser.tableHeader_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token HEADERTABLESYMBOL27=null;
        Token NEWLINE28=null;
        DokuWikiParser.linkText_return t = null;

        DokuWikiParser.tableHeader_return h = null;


        Object HEADERTABLESYMBOL27_tree=null;
        Object NEWLINE28_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:356:41: (t= linkText HEADERTABLESYMBOL h= tableHeader | NEWLINE )
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( ((LA15_0>=WHITESPACE && LA15_0<=SPECIALPUNCTUATIONMARK)||LA15_0==HEADERTABLESYMBOL) ) {
                alt15=1;
            }
            else if ( (LA15_0==NEWLINE) ) {
                alt15=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 15, 0, input);

                throw nvae;
            }
            switch (alt15) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:357:2: t= linkText HEADERTABLESYMBOL h= tableHeader
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_linkText_in_tableHeader1118);
                    t=linkText();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());
                    HEADERTABLESYMBOL27=(Token)match(input,HEADERTABLESYMBOL,FOLLOW_HEADERTABLESYMBOL_in_tableHeader1120); 
                    HEADERTABLESYMBOL27_tree = (Object)adaptor.create(HEADERTABLESYMBOL27);
                    adaptor.addChild(root_0, HEADERTABLESYMBOL27_tree);

                    pushFollow(FOLLOW_tableHeader_in_tableHeader1124);
                    h=tableHeader();

                    state._fsp--;

                    adaptor.addChild(root_0, h.getTree());

                    		retval.value = new TableHeader(new Text((t!=null?t.value:null).toString(), null), (IComponent)(h!=null?h.value:null)) ;
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:361:4: NEWLINE
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE28=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_tableHeader1133); 
                    NEWLINE28_tree = (Object)adaptor.create(NEWLINE28);
                    adaptor.addChild(root_0, NEWLINE28_tree);


                    		retval.value = null ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "tableHeader"

    public static class tableRows_return extends ParserRuleReturnScope {
        public Table value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "tableRows"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:367:1: tableRows returns [Table value] : ( LINKTEXTSYMBOL row= tableRow next= tableRows | () );
    public final DokuWikiParser.tableRows_return tableRows() throws RecognitionException {
        DokuWikiParser.tableRows_return retval = new DokuWikiParser.tableRows_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token LINKTEXTSYMBOL29=null;
        DokuWikiParser.tableRow_return row = null;

        DokuWikiParser.tableRows_return next = null;


        Object LINKTEXTSYMBOL29_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:367:32: ( LINKTEXTSYMBOL row= tableRow next= tableRows | () )
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==LINKTEXTSYMBOL) ) {
                alt16=1;
            }
            else if ( (LA16_0==EOF||(LA16_0>=NEWLINE && LA16_0<=ITALICSYMBOL)||(LA16_0>=UNDERLINESYMBOL && LA16_0<=FOOTNOTESYMBOL)||(LA16_0>=NEWLINESYMBOL && LA16_0<=ADDRESS)||(LA16_0>=MAIL && LA16_0<=IMAGESYMBOL)||(LA16_0>=LISTSYMBOL && LA16_0<=HTML)||LA16_0==HTML2||LA16_0==PHP||LA16_0==PHP2||(LA16_0>=MARKUP && LA16_0<=NOTOC)) ) {
                alt16=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 16, 0, input);

                throw nvae;
            }
            switch (alt16) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:368:2: LINKTEXTSYMBOL row= tableRow next= tableRows
                    {
                    root_0 = (Object)adaptor.nil();

                    LINKTEXTSYMBOL29=(Token)match(input,LINKTEXTSYMBOL,FOLLOW_LINKTEXTSYMBOL_in_tableRows1151); 
                    LINKTEXTSYMBOL29_tree = (Object)adaptor.create(LINKTEXTSYMBOL29);
                    adaptor.addChild(root_0, LINKTEXTSYMBOL29_tree);

                    pushFollow(FOLLOW_tableRow_in_tableRows1155);
                    row=tableRow();

                    state._fsp--;

                    adaptor.addChild(root_0, row.getTree());
                    pushFollow(FOLLOW_tableRows_in_tableRows1159);
                    next=tableRows();

                    state._fsp--;

                    adaptor.addChild(root_0, next.getTree());

                    		retval.value = new Table((IComponent)(row!=null?row.value:null), (IComponent)(next!=null?next.value:null)) ;	
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:372:4: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:372:4: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:372:5: 
                    {
                    }


                    		retval.value = null ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "tableRows"

    public static class tableRow_return extends ParserRuleReturnScope {
        public TableRow value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "tableRow"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:377:1: tableRow returns [TableRow value] : (l= linkText LINKTEXTSYMBOL t= tableRow | NEWLINE );
    public final DokuWikiParser.tableRow_return tableRow() throws RecognitionException {
        DokuWikiParser.tableRow_return retval = new DokuWikiParser.tableRow_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token LINKTEXTSYMBOL30=null;
        Token NEWLINE31=null;
        DokuWikiParser.linkText_return l = null;

        DokuWikiParser.tableRow_return t = null;


        Object LINKTEXTSYMBOL30_tree=null;
        Object NEWLINE31_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:377:35: (l= linkText LINKTEXTSYMBOL t= tableRow | NEWLINE )
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0==LINKTEXTSYMBOL||(LA17_0>=WHITESPACE && LA17_0<=SPECIALPUNCTUATIONMARK)) ) {
                alt17=1;
            }
            else if ( (LA17_0==NEWLINE) ) {
                alt17=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 17, 0, input);

                throw nvae;
            }
            switch (alt17) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:378:2: l= linkText LINKTEXTSYMBOL t= tableRow
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_linkText_in_tableRow1190);
                    l=linkText();

                    state._fsp--;

                    adaptor.addChild(root_0, l.getTree());
                    LINKTEXTSYMBOL30=(Token)match(input,LINKTEXTSYMBOL,FOLLOW_LINKTEXTSYMBOL_in_tableRow1192); 
                    LINKTEXTSYMBOL30_tree = (Object)adaptor.create(LINKTEXTSYMBOL30);
                    adaptor.addChild(root_0, LINKTEXTSYMBOL30_tree);

                    pushFollow(FOLLOW_tableRow_in_tableRow1196);
                    t=tableRow();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());
                    	
                    		if((l!=null?l.value:null) != null)
                    			retval.value = new TableRow(new Text((l!=null?l.value:null).toString(), null), (IComponent)(t!=null?t.value:null)) ;
                    		else
                    			retval.value = new TableRow(null, (IComponent)(t!=null?t.value:null)) ;
                    			
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:386:4: NEWLINE
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE31=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_tableRow1204); 
                    NEWLINE31_tree = (Object)adaptor.create(NEWLINE31);
                    adaptor.addChild(root_0, NEWLINE31_tree);


                    		retval.value = null ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "tableRow"

    public static class noWiki_return extends ParserRuleReturnScope {
        public NoWikiBlock value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "noWiki"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:391:1: noWiki returns [NoWikiBlock value] : ( NOWIKI t= dokuWikiFile NOWIKIC | NOWIKI2 a= allWithoutNowiki2 NOWIKI2 );
    public final DokuWikiParser.noWiki_return noWiki() throws RecognitionException {
        DokuWikiParser.noWiki_return retval = new DokuWikiParser.noWiki_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NOWIKI32=null;
        Token NOWIKIC33=null;
        Token NOWIKI234=null;
        Token NOWIKI235=null;
        DokuWikiParser.dokuWikiFile_return t = null;

        DokuWikiParser.allWithoutNowiki2_return a = null;


        Object NOWIKI32_tree=null;
        Object NOWIKIC33_tree=null;
        Object NOWIKI234_tree=null;
        Object NOWIKI235_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:391:36: ( NOWIKI t= dokuWikiFile NOWIKIC | NOWIKI2 a= allWithoutNowiki2 NOWIKI2 )
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( (LA18_0==NOWIKI) ) {
                alt18=1;
            }
            else if ( (LA18_0==NOWIKI2) ) {
                alt18=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 18, 0, input);

                throw nvae;
            }
            switch (alt18) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:392:2: NOWIKI t= dokuWikiFile NOWIKIC
                    {
                    root_0 = (Object)adaptor.nil();

                    NOWIKI32=(Token)match(input,NOWIKI,FOLLOW_NOWIKI_in_noWiki1222); 
                    NOWIKI32_tree = (Object)adaptor.create(NOWIKI32);
                    adaptor.addChild(root_0, NOWIKI32_tree);

                    pushFollow(FOLLOW_dokuWikiFile_in_noWiki1226);
                    t=dokuWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());
                    NOWIKIC33=(Token)match(input,NOWIKIC,FOLLOW_NOWIKIC_in_noWiki1228); 
                    NOWIKIC33_tree = (Object)adaptor.create(NOWIKIC33);
                    adaptor.addChild(root_0, NOWIKIC33_tree);


                    		retval.value = new NoWikiBlock((t!=null?t.value:null).toDokuWiki()) ; ;	
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:396:4: NOWIKI2 a= allWithoutNowiki2 NOWIKI2
                    {
                    root_0 = (Object)adaptor.nil();

                    NOWIKI234=(Token)match(input,NOWIKI2,FOLLOW_NOWIKI2_in_noWiki1237); 
                    NOWIKI234_tree = (Object)adaptor.create(NOWIKI234);
                    adaptor.addChild(root_0, NOWIKI234_tree);

                    pushFollow(FOLLOW_allWithoutNowiki2_in_noWiki1241);
                    a=allWithoutNowiki2();

                    state._fsp--;

                    adaptor.addChild(root_0, a.getTree());
                    NOWIKI235=(Token)match(input,NOWIKI2,FOLLOW_NOWIKI2_in_noWiki1243); 
                    NOWIKI235_tree = (Object)adaptor.create(NOWIKI235);
                    adaptor.addChild(root_0, NOWIKI235_tree);


                    	 retval.value = new NoWikiBlock((a!=null?input.toString(a.start,a.stop):null)) ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "noWiki"

    public static class allWithoutNowiki2_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "allWithoutNowiki2"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:401:1: allWithoutNowiki2 : (~ NOWIKI2 )* ;
    public final DokuWikiParser.allWithoutNowiki2_return allWithoutNowiki2() throws RecognitionException {
        DokuWikiParser.allWithoutNowiki2_return retval = new DokuWikiParser.allWithoutNowiki2_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set36=null;

        Object set36_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:401:19: ( (~ NOWIKI2 )* )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:402:3: (~ NOWIKI2 )*
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:402:3: (~ NOWIKI2 )*
            loop19:
            do {
                int alt19=2;
                int LA19_0 = input.LA(1);

                if ( ((LA19_0>=NEWLINE && LA19_0<=NOWIKIC)||(LA19_0>=CODE && LA19_0<=DESCRIPTION)) ) {
                    alt19=1;
                }


                switch (alt19) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:402:4: ~ NOWIKI2
            	    {
            	    set36=(Token)input.LT(1);
            	    if ( (input.LA(1)>=NEWLINE && input.LA(1)<=NOWIKIC)||(input.LA(1)>=CODE && input.LA(1)<=DESCRIPTION) ) {
            	        input.consume();
            	        adaptor.addChild(root_0, (Object)adaptor.create(set36));
            	        state.errorRecovery=false;
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop19;
                }
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "allWithoutNowiki2"

    public static class codeBlock_return extends ParserRuleReturnScope {
        public IComponent value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "codeBlock"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:404:1: codeBlock returns [IComponent value] : (c= CODE t= dokuWikiFile CODEC | f= FILE s= dokuWikiFile FILEC | c= CODESECTION u= linkText NEWLINE );
    public final DokuWikiParser.codeBlock_return codeBlock() throws RecognitionException {
        DokuWikiParser.codeBlock_return retval = new DokuWikiParser.codeBlock_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token c=null;
        Token f=null;
        Token CODEC37=null;
        Token FILEC38=null;
        Token NEWLINE39=null;
        DokuWikiParser.dokuWikiFile_return t = null;

        DokuWikiParser.dokuWikiFile_return s = null;

        DokuWikiParser.linkText_return u = null;


        Object c_tree=null;
        Object f_tree=null;
        Object CODEC37_tree=null;
        Object FILEC38_tree=null;
        Object NEWLINE39_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:404:38: (c= CODE t= dokuWikiFile CODEC | f= FILE s= dokuWikiFile FILEC | c= CODESECTION u= linkText NEWLINE )
            int alt20=3;
            switch ( input.LA(1) ) {
            case CODE:
                {
                alt20=1;
                }
                break;
            case FILE:
                {
                alt20=2;
                }
                break;
            case CODESECTION:
                {
                alt20=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 20, 0, input);

                throw nvae;
            }

            switch (alt20) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:405:2: c= CODE t= dokuWikiFile CODEC
                    {
                    root_0 = (Object)adaptor.nil();

                    c=(Token)match(input,CODE,FOLLOW_CODE_in_codeBlock1278); 
                    c_tree = (Object)adaptor.create(c);
                    adaptor.addChild(root_0, c_tree);

                    pushFollow(FOLLOW_dokuWikiFile_in_codeBlock1282);
                    t=dokuWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());
                    CODEC37=(Token)match(input,CODEC,FOLLOW_CODEC_in_codeBlock1284); 
                    CODEC37_tree = (Object)adaptor.create(CODEC37);
                    adaptor.addChild(root_0, CODEC37_tree);


                    		retval.value = new CodeBlock(((IComponent)(t!=null?t.value:null)).toDokuWiki()) ;
                    		if((c!=null?c.getText():null).length() > 6)
                    		{
                    			String language = (c!=null?c.getText():null).substring((c!=null?c.getText():null).indexOf(' ') + 1, (c!=null?c.getText():null).length() -1) ;
                    			((CodeBlock)retval.value).setLanguage(language) ;
                    		}
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:414:4: f= FILE s= dokuWikiFile FILEC
                    {
                    root_0 = (Object)adaptor.nil();

                    f=(Token)match(input,FILE,FOLLOW_FILE_in_codeBlock1294); 
                    f_tree = (Object)adaptor.create(f);
                    adaptor.addChild(root_0, f_tree);

                    pushFollow(FOLLOW_dokuWikiFile_in_codeBlock1298);
                    s=dokuWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, s.getTree());
                    FILEC38=(Token)match(input,FILEC,FOLLOW_FILEC_in_codeBlock1300); 
                    FILEC38_tree = (Object)adaptor.create(FILEC38);
                    adaptor.addChild(root_0, FILEC38_tree);


                    		retval.value = new CodeBlock(((IComponent)(s!=null?s.value:null)).toDokuWiki()) ;
                    		if((f!=null?f.getText():null).length() > 6)
                    		{
                    			String language = (f!=null?f.getText():null).substring((f!=null?f.getText():null).indexOf(' ') + 1, (f!=null?f.getText():null).length() -1) ;
                    			((CodeBlock)retval.value).setLanguage(language) ;
                    		}
                    	

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:423:4: c= CODESECTION u= linkText NEWLINE
                    {
                    root_0 = (Object)adaptor.nil();

                    c=(Token)match(input,CODESECTION,FOLLOW_CODESECTION_in_codeBlock1310); 
                    c_tree = (Object)adaptor.create(c);
                    adaptor.addChild(root_0, c_tree);

                    pushFollow(FOLLOW_linkText_in_codeBlock1314);
                    u=linkText();

                    state._fsp--;

                    adaptor.addChild(root_0, u.getTree());
                    NEWLINE39=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_codeBlock1316); 
                    NEWLINE39_tree = (Object)adaptor.create(NEWLINE39);
                    adaptor.addChild(root_0, NEWLINE39_tree);


                    	  if((u!=null?u.value:null) == null)
                    	     retval.value = new Text((c!=null?c.getText():null) + "\n", null) ;
                    	  else
                      		retval.value = new Text((u!=null?u.value:null).toString(), TextFormatting.VERBATIMLINE) ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "codeBlock"

    public static class html_return extends ParserRuleReturnScope {
        public HTMLSection value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "html"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:431:1: html returns [HTMLSection value] : ( HTML b= allWithoutHtmlc HTMLC | HTML2 a= allWithoutHtml2C HTML2C );
    public final DokuWikiParser.html_return html() throws RecognitionException {
        DokuWikiParser.html_return retval = new DokuWikiParser.html_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token HTML40=null;
        Token HTMLC41=null;
        Token HTML242=null;
        Token HTML2C43=null;
        DokuWikiParser.allWithoutHtmlc_return b = null;

        DokuWikiParser.allWithoutHtml2C_return a = null;


        Object HTML40_tree=null;
        Object HTMLC41_tree=null;
        Object HTML242_tree=null;
        Object HTML2C43_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:431:34: ( HTML b= allWithoutHtmlc HTMLC | HTML2 a= allWithoutHtml2C HTML2C )
            int alt21=2;
            int LA21_0 = input.LA(1);

            if ( (LA21_0==HTML) ) {
                alt21=1;
            }
            else if ( (LA21_0==HTML2) ) {
                alt21=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 21, 0, input);

                throw nvae;
            }
            switch (alt21) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:432:2: HTML b= allWithoutHtmlc HTMLC
                    {
                    root_0 = (Object)adaptor.nil();

                    HTML40=(Token)match(input,HTML,FOLLOW_HTML_in_html1334); 
                    HTML40_tree = (Object)adaptor.create(HTML40);
                    adaptor.addChild(root_0, HTML40_tree);

                    pushFollow(FOLLOW_allWithoutHtmlc_in_html1338);
                    b=allWithoutHtmlc();

                    state._fsp--;

                    adaptor.addChild(root_0, b.getTree());
                    HTMLC41=(Token)match(input,HTMLC,FOLLOW_HTMLC_in_html1340); 
                    HTMLC41_tree = (Object)adaptor.create(HTMLC41);
                    adaptor.addChild(root_0, HTMLC41_tree);


                    		retval.value = new HTMLSection((b!=null?input.toString(b.start,b.stop):null)) ;
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:436:4: HTML2 a= allWithoutHtml2C HTML2C
                    {
                    root_0 = (Object)adaptor.nil();

                    HTML242=(Token)match(input,HTML2,FOLLOW_HTML2_in_html1349); 
                    HTML242_tree = (Object)adaptor.create(HTML242);
                    adaptor.addChild(root_0, HTML242_tree);

                    pushFollow(FOLLOW_allWithoutHtml2C_in_html1353);
                    a=allWithoutHtml2C();

                    state._fsp--;

                    adaptor.addChild(root_0, a.getTree());
                    HTML2C43=(Token)match(input,HTML2C,FOLLOW_HTML2C_in_html1355); 
                    HTML2C43_tree = (Object)adaptor.create(HTML2C43);
                    adaptor.addChild(root_0, HTML2C43_tree);


                        retval.value = new HTMLSection((a!=null?input.toString(a.start,a.stop):null)) ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "html"

    public static class allWithoutHtmlc_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "allWithoutHtmlc"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:441:1: allWithoutHtmlc : (~ HTMLC )* ;
    public final DokuWikiParser.allWithoutHtmlc_return allWithoutHtmlc() throws RecognitionException {
        DokuWikiParser.allWithoutHtmlc_return retval = new DokuWikiParser.allWithoutHtmlc_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set44=null;

        Object set44_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:441:17: ( (~ HTMLC )* )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:442:3: (~ HTMLC )*
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:442:3: (~ HTMLC )*
            loop22:
            do {
                int alt22=2;
                int LA22_0 = input.LA(1);

                if ( ((LA22_0>=NEWLINE && LA22_0<=HTML)||(LA22_0>=HTML2 && LA22_0<=DESCRIPTION)) ) {
                    alt22=1;
                }


                switch (alt22) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:442:4: ~ HTMLC
            	    {
            	    set44=(Token)input.LT(1);
            	    if ( (input.LA(1)>=NEWLINE && input.LA(1)<=HTML)||(input.LA(1)>=HTML2 && input.LA(1)<=DESCRIPTION) ) {
            	        input.consume();
            	        adaptor.addChild(root_0, (Object)adaptor.create(set44));
            	        state.errorRecovery=false;
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop22;
                }
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "allWithoutHtmlc"

    public static class allWithoutHtml2C_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "allWithoutHtml2C"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:444:1: allWithoutHtml2C : (~ HTML2C )* ;
    public final DokuWikiParser.allWithoutHtml2C_return allWithoutHtml2C() throws RecognitionException {
        DokuWikiParser.allWithoutHtml2C_return retval = new DokuWikiParser.allWithoutHtml2C_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set45=null;

        Object set45_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:444:18: ( (~ HTML2C )* )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:445:3: (~ HTML2C )*
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:445:3: (~ HTML2C )*
            loop23:
            do {
                int alt23=2;
                int LA23_0 = input.LA(1);

                if ( ((LA23_0>=NEWLINE && LA23_0<=HTML2)||(LA23_0>=PHP && LA23_0<=DESCRIPTION)) ) {
                    alt23=1;
                }


                switch (alt23) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:445:4: ~ HTML2C
            	    {
            	    set45=(Token)input.LT(1);
            	    if ( (input.LA(1)>=NEWLINE && input.LA(1)<=HTML2)||(input.LA(1)>=PHP && input.LA(1)<=DESCRIPTION) ) {
            	        input.consume();
            	        adaptor.addChild(root_0, (Object)adaptor.create(set45));
            	        state.errorRecovery=false;
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop23;
                }
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "allWithoutHtml2C"

    public static class php_return extends ParserRuleReturnScope {
        public PHPSection value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "php"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:447:1: php returns [PHPSection value] : ( PHP d= allWithoutPhpc PHPC | PHP2 a= allWithoutPhp2c PHP2C );
    public final DokuWikiParser.php_return php() throws RecognitionException {
        DokuWikiParser.php_return retval = new DokuWikiParser.php_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token PHP46=null;
        Token PHPC47=null;
        Token PHP248=null;
        Token PHP2C49=null;
        DokuWikiParser.allWithoutPhpc_return d = null;

        DokuWikiParser.allWithoutPhp2c_return a = null;


        Object PHP46_tree=null;
        Object PHPC47_tree=null;
        Object PHP248_tree=null;
        Object PHP2C49_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:447:32: ( PHP d= allWithoutPhpc PHPC | PHP2 a= allWithoutPhp2c PHP2C )
            int alt24=2;
            int LA24_0 = input.LA(1);

            if ( (LA24_0==PHP) ) {
                alt24=1;
            }
            else if ( (LA24_0==PHP2) ) {
                alt24=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 24, 0, input);

                throw nvae;
            }
            switch (alt24) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:448:2: PHP d= allWithoutPhpc PHPC
                    {
                    root_0 = (Object)adaptor.nil();

                    PHP46=(Token)match(input,PHP,FOLLOW_PHP_in_php1402); 
                    PHP46_tree = (Object)adaptor.create(PHP46);
                    adaptor.addChild(root_0, PHP46_tree);

                    pushFollow(FOLLOW_allWithoutPhpc_in_php1406);
                    d=allWithoutPhpc();

                    state._fsp--;

                    adaptor.addChild(root_0, d.getTree());
                    PHPC47=(Token)match(input,PHPC,FOLLOW_PHPC_in_php1408); 
                    PHPC47_tree = (Object)adaptor.create(PHPC47);
                    adaptor.addChild(root_0, PHPC47_tree);


                    		retval.value = new PHPSection((d!=null?input.toString(d.start,d.stop):null)) ;	
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:452:4: PHP2 a= allWithoutPhp2c PHP2C
                    {
                    root_0 = (Object)adaptor.nil();

                    PHP248=(Token)match(input,PHP2,FOLLOW_PHP2_in_php1416); 
                    PHP248_tree = (Object)adaptor.create(PHP248);
                    adaptor.addChild(root_0, PHP248_tree);

                    pushFollow(FOLLOW_allWithoutPhp2c_in_php1420);
                    a=allWithoutPhp2c();

                    state._fsp--;

                    adaptor.addChild(root_0, a.getTree());
                    PHP2C49=(Token)match(input,PHP2C,FOLLOW_PHP2C_in_php1422); 
                    PHP2C49_tree = (Object)adaptor.create(PHP2C49);
                    adaptor.addChild(root_0, PHP2C49_tree);


                        retval.value = new PHPSection((a!=null?input.toString(a.start,a.stop):null)) ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "php"

    public static class allWithoutPhpc_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "allWithoutPhpc"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:457:1: allWithoutPhpc : (~ PHPC )* ;
    public final DokuWikiParser.allWithoutPhpc_return allWithoutPhpc() throws RecognitionException {
        DokuWikiParser.allWithoutPhpc_return retval = new DokuWikiParser.allWithoutPhpc_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set50=null;

        Object set50_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:457:16: ( (~ PHPC )* )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:458:3: (~ PHPC )*
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:458:3: (~ PHPC )*
            loop25:
            do {
                int alt25=2;
                int LA25_0 = input.LA(1);

                if ( ((LA25_0>=NEWLINE && LA25_0<=PHP)||(LA25_0>=PHP2 && LA25_0<=DESCRIPTION)) ) {
                    alt25=1;
                }


                switch (alt25) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:458:4: ~ PHPC
            	    {
            	    set50=(Token)input.LT(1);
            	    if ( (input.LA(1)>=NEWLINE && input.LA(1)<=PHP)||(input.LA(1)>=PHP2 && input.LA(1)<=DESCRIPTION) ) {
            	        input.consume();
            	        adaptor.addChild(root_0, (Object)adaptor.create(set50));
            	        state.errorRecovery=false;
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop25;
                }
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "allWithoutPhpc"

    public static class allWithoutPhp2c_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "allWithoutPhp2c"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:460:1: allWithoutPhp2c : (~ PHP2C )* ;
    public final DokuWikiParser.allWithoutPhp2c_return allWithoutPhp2c() throws RecognitionException {
        DokuWikiParser.allWithoutPhp2c_return retval = new DokuWikiParser.allWithoutPhp2c_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set51=null;

        Object set51_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:460:17: ( (~ PHP2C )* )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:461:3: (~ PHP2C )*
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:461:3: (~ PHP2C )*
            loop26:
            do {
                int alt26=2;
                int LA26_0 = input.LA(1);

                if ( ((LA26_0>=NEWLINE && LA26_0<=PHP2)||(LA26_0>=MARKUP && LA26_0<=DESCRIPTION)) ) {
                    alt26=1;
                }


                switch (alt26) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:461:4: ~ PHP2C
            	    {
            	    set51=(Token)input.LT(1);
            	    if ( (input.LA(1)>=NEWLINE && input.LA(1)<=PHP2)||(input.LA(1)>=MARKUP && input.LA(1)<=DESCRIPTION) ) {
            	        input.consume();
            	        adaptor.addChild(root_0, (Object)adaptor.create(set51));
            	        state.errorRecovery=false;
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop26;
                }
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "allWithoutPhp2c"

    public static class markupSection_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "markupSection"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:463:1: markupSection returns [Text value] : m= MARKUP ;
    public final DokuWikiParser.markupSection_return markupSection() throws RecognitionException {
        DokuWikiParser.markupSection_return retval = new DokuWikiParser.markupSection_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token m=null;

        Object m_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:463:36: (m= MARKUP )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:464:2: m= MARKUP
            {
            root_0 = (Object)adaptor.nil();

            m=(Token)match(input,MARKUP,FOLLOW_MARKUP_in_markupSection1472); 
            m_tree = (Object)adaptor.create(m);
            adaptor.addChild(root_0, m_tree);


            		retval.value = new Text((m!=null?m.getText():null), null) ;
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "markupSection"

    public static class line_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "line"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:469:1: line : ( textBlock )+ ;
    public final DokuWikiParser.line_return line() throws RecognitionException {
        DokuWikiParser.line_return retval = new DokuWikiParser.line_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        DokuWikiParser.textBlock_return textBlock52 = null;



        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:469:6: ( ( textBlock )+ )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:470:3: ( textBlock )+
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:470:3: ( textBlock )+
            int cnt27=0;
            loop27:
            do {
                int alt27=2;
                int LA27_0 = input.LA(1);

                if ( ((LA27_0>=WHITESPACE && LA27_0<=SPECIALPUNCTUATIONMARK)) ) {
                    alt27=1;
                }


                switch (alt27) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:470:4: textBlock
            	    {
            	    pushFollow(FOLLOW_textBlock_in_line1488);
            	    textBlock52=textBlock();

            	    state._fsp--;

            	    adaptor.addChild(root_0, textBlock52.getTree());

            	    }
            	    break;

            	default :
            	    if ( cnt27 >= 1 ) break loop27;
                        EarlyExitException eee =
                            new EarlyExitException(27, input);
                        throw eee;
                }
                cnt27++;
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "line"

    public static class noCache_return extends ParserRuleReturnScope {
        public IComponent value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "noCache"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:472:1: noCache returns [IComponent value] : NOCACHE ;
    public final DokuWikiParser.noCache_return noCache() throws RecognitionException {
        DokuWikiParser.noCache_return retval = new DokuWikiParser.noCache_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NOCACHE53=null;

        Object NOCACHE53_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:472:35: ( NOCACHE )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:473:2: NOCACHE
            {
            root_0 = (Object)adaptor.nil();

            NOCACHE53=(Token)match(input,NOCACHE,FOLLOW_NOCACHE_in_noCache1504); 
            NOCACHE53_tree = (Object)adaptor.create(NOCACHE53);
            adaptor.addChild(root_0, NOCACHE53_tree);

             retval.value = null;

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "noCache"

    public static class noToc_return extends ParserRuleReturnScope {
        public IComponent value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "noToc"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:475:1: noToc returns [IComponent value] : NOTOC ;
    public final DokuWikiParser.noToc_return noToc() throws RecognitionException {
        DokuWikiParser.noToc_return retval = new DokuWikiParser.noToc_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NOTOC54=null;

        Object NOTOC54_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:475:33: ( NOTOC )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\DokuWiki.g:476:2: NOTOC
            {
            root_0 = (Object)adaptor.nil();

            NOTOC54=(Token)match(input,NOTOC,FOLLOW_NOTOC_in_noToc1518); 
            NOTOC54_tree = (Object)adaptor.create(NOTOC54);
            adaptor.addChild(root_0, NOTOC54_tree);

             retval.value = null;

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "noToc"

    // Delegated rules


 

    public static final BitSet FOLLOW_dokuWikiFile_in_start50 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_dokuWikiMarkupSection_in_dokuWikiFile74 = new BitSet(new long[]{0x0001D56B79FE7670L});
    public static final BitSet FOLLOW_dokuWikiFile_in_dokuWikiFile78 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_textBlock_in_dokuWikiFile90 = new BitSet(new long[]{0x0001D56B79FE7670L});
    public static final BitSet FOLLOW_dokuWikiFile_in_dokuWikiFile94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_dokuWikiFile104 = new BitSet(new long[]{0x0001D56B79FE7670L});
    public static final BitSet FOLLOW_dokuWikiFile_in_dokuWikiFile108 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_php_in_dokuWikiMarkupSection142 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_markupSection_in_dokuWikiMarkupSection153 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_list_in_dokuWikiMarkupSection164 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_footnoteText_in_dokuWikiMarkupSection177 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_noCache_in_dokuWikiMarkupSection190 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_noToc_in_dokuWikiMarkupSection203 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_html_in_dokuWikiMarkupSection216 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_codeBlock_in_dokuWikiMarkupSection229 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_table_in_dokuWikiMarkupSection242 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_qouting_in_dokuWikiMarkupSection255 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_boldText_in_dokuWikiMarkupSection268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_italicText_in_dokuWikiMarkupSection281 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_underlineText_in_dokuWikiMarkupSection294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_newLine_in_dokuWikiMarkupSection305 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_link_in_dokuWikiMarkupSection318 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_mail_in_dokuWikiMarkupSection328 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_headline_in_dokuWikiMarkupSection341 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_image_in_dokuWikiMarkupSection354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_noWiki_in_dokuWikiMarkupSection367 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_italicText_in_insideBoldText394 = new BitSet(new long[]{0x0000000000F80250L});
    public static final BitSet FOLLOW_insideBoldText_in_insideBoldText398 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_underlineText_in_insideBoldText411 = new BitSet(new long[]{0x0000000000F80250L});
    public static final BitSet FOLLOW_insideBoldText_in_insideBoldText415 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_line_in_insideBoldText427 = new BitSet(new long[]{0x0000000000F80250L});
    public static final BitSet FOLLOW_insideBoldText_in_insideBoldText431 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_insideBoldText441 = new BitSet(new long[]{0x0000000000F80250L});
    public static final BitSet FOLLOW_insideBoldText_in_insideBoldText445 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_BOLDSYMBOL_in_boldText474 = new BitSet(new long[]{0x0000000000F80270L});
    public static final BitSet FOLLOW_insideBoldText_in_boldText478 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_BOLDSYMBOL_in_boldText480 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_boldText_in_insideItalicText501 = new BitSet(new long[]{0x0000000000F80230L});
    public static final BitSet FOLLOW_insideItalicText_in_insideItalicText505 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_underlineText_in_insideItalicText517 = new BitSet(new long[]{0x0000000000F80230L});
    public static final BitSet FOLLOW_insideItalicText_in_insideItalicText521 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_line_in_insideItalicText533 = new BitSet(new long[]{0x0000000000F80230L});
    public static final BitSet FOLLOW_insideItalicText_in_insideItalicText537 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_insideItalicText546 = new BitSet(new long[]{0x0000000000F80230L});
    public static final BitSet FOLLOW_insideItalicText_in_insideItalicText550 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ITALICSYMBOL_in_italicText581 = new BitSet(new long[]{0x0000000000F80270L});
    public static final BitSet FOLLOW_insideItalicText_in_italicText585 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ITALICSYMBOL_in_italicText587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_DELETED_in_deletedText605 = new BitSet(new long[]{0x0000000000F80110L});
    public static final BitSet FOLLOW_text_in_deletedText609 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_DELETEDC_in_deletedText611 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_boldText_in_insideUnderlineText630 = new BitSet(new long[]{0x0000000000F80070L});
    public static final BitSet FOLLOW_insideUnderlineText_in_insideUnderlineText634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_italicText_in_insideUnderlineText646 = new BitSet(new long[]{0x0000000000F80070L});
    public static final BitSet FOLLOW_insideUnderlineText_in_insideUnderlineText650 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_line_in_insideUnderlineText662 = new BitSet(new long[]{0x0000000000F80070L});
    public static final BitSet FOLLOW_insideUnderlineText_in_insideUnderlineText666 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_insideUnderlineText675 = new BitSet(new long[]{0x0000000000F80070L});
    public static final BitSet FOLLOW_insideUnderlineText_in_insideUnderlineText679 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_UNDERLINESYMBOL_in_underlineText709 = new BitSet(new long[]{0x0000000000F80270L});
    public static final BitSet FOLLOW_insideUnderlineText_in_underlineText713 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_UNDERLINESYMBOL_in_underlineText715 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_FOOTNOTESYMBOL_in_footnoteText731 = new BitSet(new long[]{0x0000000000F80810L});
    public static final BitSet FOLLOW_text_in_footnoteText735 = new BitSet(new long[]{0x0000000000000800L});
    public static final BitSet FOLLOW_FOOTNOTESYMBOLC_in_footnoteText737 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_textBlock_in_text756 = new BitSet(new long[]{0x0000000000F80010L});
    public static final BitSet FOLLOW_text_in_text760 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_text772 = new BitSet(new long[]{0x0000000000F80010L});
    public static final BitSet FOLLOW_text_in_text776 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINESYMBOL_in_newLine802 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LINKSYMBOL_in_link818 = new BitSet(new long[]{0x0000000000F9C000L});
    public static final BitSet FOLLOW_ADDRESS_in_link823 = new BitSet(new long[]{0x0000000000018000L});
    public static final BitSet FOLLOW_linkText_in_link829 = new BitSet(new long[]{0x0000000000018000L});
    public static final BitSet FOLLOW_LINKTEXTSYMBOL_in_link833 = new BitSet(new long[]{0x0000000000F90010L});
    public static final BitSet FOLLOW_text_in_link837 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_LINKSYMBOLC_in_link841 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ADDRESS_in_link853 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_MAIL_in_mail874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_textBlock_in_linkText897 = new BitSet(new long[]{0x0000000000F80000L});
    public static final BitSet FOLLOW_linkText_in_linkText901 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_HEADLINESYMBOL_in_headline930 = new BitSet(new long[]{0x0000000000FC0010L});
    public static final BitSet FOLLOW_text_in_headline934 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_HEADLINESYMBOL_in_headline938 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_textBlock951 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IMAGESYMBOL_in_image984 = new BitSet(new long[]{0x0000000006F8C000L});
    public static final BitSet FOLLOW_linkText_in_image989 = new BitSet(new long[]{0x0000000006008000L});
    public static final BitSet FOLLOW_ADDRESS_in_image995 = new BitSet(new long[]{0x0000000006008000L});
    public static final BitSet FOLLOW_SIZE_in_image1001 = new BitSet(new long[]{0x0000000004008000L});
    public static final BitSet FOLLOW_LINKTEXTSYMBOL_in_image1006 = new BitSet(new long[]{0x0000000004F80010L});
    public static final BitSet FOLLOW_text_in_image1010 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_IMAGESYMBOLC_in_image1014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LISTSYMBOL_in_list1034 = new BitSet(new long[]{0x0000000000F80000L});
    public static final BitSet FOLLOW_line_in_list1038 = new BitSet(new long[]{0x0000000008000010L});
    public static final BitSet FOLLOW_NEWLINE_in_list1041 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_list_in_list1047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_QUOTINGSYMBOL_in_qouting1068 = new BitSet(new long[]{0x0000000000F80000L});
    public static final BitSet FOLLOW_line_in_qouting1074 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_HEADERTABLESYMBOL_in_table1092 = new BitSet(new long[]{0x0000000020F80010L});
    public static final BitSet FOLLOW_tableHeader_in_table1096 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_tableRows_in_table1100 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_linkText_in_tableHeader1118 = new BitSet(new long[]{0x0000000020000000L});
    public static final BitSet FOLLOW_HEADERTABLESYMBOL_in_tableHeader1120 = new BitSet(new long[]{0x0000000020F80010L});
    public static final BitSet FOLLOW_tableHeader_in_tableHeader1124 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_tableHeader1133 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LINKTEXTSYMBOL_in_tableRows1151 = new BitSet(new long[]{0x0000000000F88010L});
    public static final BitSet FOLLOW_tableRow_in_tableRows1155 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_tableRows_in_tableRows1159 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_linkText_in_tableRow1190 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_LINKTEXTSYMBOL_in_tableRow1192 = new BitSet(new long[]{0x0000000000F88010L});
    public static final BitSet FOLLOW_tableRow_in_tableRow1196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_tableRow1204 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NOWIKI_in_noWiki1222 = new BitSet(new long[]{0x0001D56BF9FE7670L});
    public static final BitSet FOLLOW_dokuWikiFile_in_noWiki1226 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_NOWIKIC_in_noWiki1228 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NOWIKI2_in_noWiki1237 = new BitSet(new long[]{0x0FFFFFFFFFFFFFF0L});
    public static final BitSet FOLLOW_allWithoutNowiki2_in_noWiki1241 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_NOWIKI2_in_noWiki1243 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_allWithoutNowiki21258 = new BitSet(new long[]{0x0FFFFFFEFFFFFFF2L});
    public static final BitSet FOLLOW_CODE_in_codeBlock1278 = new BitSet(new long[]{0x0001D56F79FE7670L});
    public static final BitSet FOLLOW_dokuWikiFile_in_codeBlock1282 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_CODEC_in_codeBlock1284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_FILE_in_codeBlock1294 = new BitSet(new long[]{0x0001D57B79FE7670L});
    public static final BitSet FOLLOW_dokuWikiFile_in_codeBlock1298 = new BitSet(new long[]{0x0000001000000000L});
    public static final BitSet FOLLOW_FILEC_in_codeBlock1300 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_CODESECTION_in_codeBlock1310 = new BitSet(new long[]{0x0000000000F80010L});
    public static final BitSet FOLLOW_linkText_in_codeBlock1314 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_NEWLINE_in_codeBlock1316 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_HTML_in_html1334 = new BitSet(new long[]{0x0FFFFFFFFFFFFFF0L});
    public static final BitSet FOLLOW_allWithoutHtmlc_in_html1338 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_HTMLC_in_html1340 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_HTML2_in_html1349 = new BitSet(new long[]{0x0FFFFFFFFFFFFFF0L});
    public static final BitSet FOLLOW_allWithoutHtml2C_in_html1353 = new BitSet(new long[]{0x0000020000000000L});
    public static final BitSet FOLLOW_HTML2C_in_html1355 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_allWithoutHtmlc1369 = new BitSet(new long[]{0x0FFFFF7FFFFFFFF2L});
    public static final BitSet FOLLOW_set_in_allWithoutHtml2C1384 = new BitSet(new long[]{0x0FFFFDFFFFFFFFF2L});
    public static final BitSet FOLLOW_PHP_in_php1402 = new BitSet(new long[]{0x0FFFFFFFFFFFFFF0L});
    public static final BitSet FOLLOW_allWithoutPhpc_in_php1406 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_PHPC_in_php1408 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PHP2_in_php1416 = new BitSet(new long[]{0x0FFFFFFFFFFFFFF0L});
    public static final BitSet FOLLOW_allWithoutPhp2c_in_php1420 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_PHP2C_in_php1422 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_allWithoutPhpc1437 = new BitSet(new long[]{0x0FFFF7FFFFFFFFF2L});
    public static final BitSet FOLLOW_set_in_allWithoutPhp2c1452 = new BitSet(new long[]{0x0FFFDFFFFFFFFFF2L});
    public static final BitSet FOLLOW_MARKUP_in_markupSection1472 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_textBlock_in_line1488 = new BitSet(new long[]{0x0000000000F80002L});
    public static final BitSet FOLLOW_NOCACHE_in_noCache1504 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NOTOC_in_noToc1518 = new BitSet(new long[]{0x0000000000000002L});

}